An alternative to Tugela cache
dustin at spy.net
Mon Sep 3 05:22:16 UTC 2007
On Sep 2, 2007, at 15:32, Alberto Bertogli wrote:
> The C library is quite simple, and writing bindings to it (instead of
> re-writing it in a different language) should be close to trivial to
> anyone familiar with the language in question (be it Perl, PHP,
Well, I'd argue that trivial is asking someone with a deployed
application to reconfigure it to use your cache. The further from
that you get, the less trivial integration becomes.
Trying to get everyone to use your C library is certainly less
trivial than you'd think. It's very unlikely anyone running a java
application or .net application would be willing to go through the
work of linking in your unmanaged code. If your code is synchronous,
will it cause unmanageable blocking in, say, a twisted app when it's
deployed? If it's asynchronous, will it fit into my event loop?
> About the protocol reuse, I don't find the text-oriented protocol
> attractive, and a simple binary protocol was easier for me to write
> debug, so I did.
The text protocol is certainly difficult to get right, but it is
used constantly at pretty much every high-volume content site.
Our binary protocol is considerably easier to implement (while still
maintaining some of the desirable performance characteristics from
the text protocol).
> Memcached client compatibility was never on my plans, as originally
> TIPC was supported (after a while, it became trivial to add other
> transport protocols, so the rest was implemented), and that would
> I had to follow memcached protocols and worry about compatibility, and
> I'm not really interested in any of that.
Heh, of course not. Having such a dependency on your project to a
different project could lead to maintenance issues. However, the
protocols don't change much. If they did, the various implementation
authors would be annoyed.
I'm just trying to point out that, IMO, that you would have an
easier time finding adopters if it took them less work to incorporate
your application into theirs.
More information about the memcached