What is LiteSpeed Memcached?

LiteSpeed Memcached (LSMCD) is a high-performance, distributed caching system with file-backed shared memory. It's generic in nature, but was 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, persistence of data, and the option to separate data by user.

  • High-Availability means that if one or more of your servers goes down, you can still access and update your data as though the server was 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.

  • Separate data by user means that there is an option to have each user have their very own, separate data within the repository. By isolating user's data you improve data security and have the ability to charge users for access to the data.

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 multiple virtual pools of memory. You can fine tune these pools, 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 you must regularly access. 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 they have built to only be LSMCD servers.


Last update: April 27, 2020