Memcached/memcache_engine/memcachedb

  • 2460
  • 0
  • DB
  • 2009-11-04

memcached

memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.

Danga Interactive developed memcached to enhance the speed of LiveJournal.com, a site which was already doing 20 million+ dynamic page views per day for 1 million users with a bunch of webservers and a bunch of database servers. memcached dropped the database load to almost nothing,

 

 

 

Memcached -> libmemcached -> memcache_engine

Memcached -> memcachedb

memcached

memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.

Danga Interactive developed memcached to enhance the speed of LiveJournal.com, a site which was already doing 20 million+ dynamic page views per day for 1 million users with a bunch of webservers and a bunch of database servers. memcached dropped the database load to almost nothing, yielding faster page load times for users, better resource utilization, and faster access to the databases on a memcache miss.

……

libmemcached

 

libmemcached is a C and C++ client library to the memcached server (http://danga.com/memcached). It has been designed to be light on memory usage, thread safe, and provide full access to server side methods.

A few notes on its design:

  • Synchronous and Asynchronous support.
  • TCP and Unix Socket protocols.
  • A half dozen or so different hash algorithms .
  • Implementations of the new cas, replace, and append operators.
  • Man pages written up on entire API.
  • Implements both modulo and consistent hashing solutions.
    ……
  • MemcacheDB

    MemcacheDB is a distributed key-value storage system designed for persistent. It is NOT a cache solution, but a persistent storage engine for fast and reliable key-value based object storage and retrieval. It conforms to memcache protocol(not completed, see below), so any memcached client can have connectivity with it. MemcacheDB uses Berkeley DB as a storing backend, so lots of features including transaction and replication are supported.

    We stand on the shoulders of giants, MemcacheDB source code is based on Memcached.

     ……

    Memcacheddanga.com/memcached/

              中文:tech.idv2.com/2008/08/17/memcached-pdf/

    libmemcached:tangent.org/

    memcache_engine:tangent.org/506/memcache_engine.html

    memcachedbcode.google.com/p/memcachedb/

                             memcachedb.org/

    libevent:monkey.org/~provos/libevent/

    .NET Client: sourceforge.net/projects/memcacheddotnet/