LSMCD is a high-performance, distributed caching system with file-backed shared memory, generic in nature, but originally intended for use in speeding up dynamic web applications by alleviating database load. It is designed as a drop-in replacement for Memcached, however we also have a few features that Memcached does not: High-Availability and persistence of data. High-Availability means that if one or more of your servers go down, your data can still be accessed and updated as though it was still up. Persistence of data means that there is no need for a database backend. Whatever you put in LSMCD stays in LSMCD unless you say otherwise.
LSMCD allows you to take memory from parts of your system where you have more than you need and make it accessible to areas where you have less than you need. With LSMCD, your servers will behave as multiple virtual pools of memory, which you can fine tune allowing you to improve your hit/miss ratio.
Also, as the demand for your application grows to the point where you need to have more servers, it generally also grows in terms of the data that must be regularly accessed. A deployment strategy where these two aspects of your system scale together just makes sense. This property remains the same as the number of servers increases.
Of course, you aren't required to use your web server's memory for cache. Many LSMCD users have dedicated machines that are built to only be LSMCD servers.
Installation | How to install LSMCD |
Configuration | Configuration explanation |
Replication | LSMCD Replication |
Commands | How to interact with LSMCD |
Usage Example | One example of using LSMCD |