LSMCD is a high-performance, distributed caching system with file-backed shared memory, generic in nature, intended for use in speeding up dynamic web applications by alleviating database load. It is designed as a drop-in replacement for Memcached, however, LSMCD has features that Memcached does not: High-Availability, persistence of data and the option to separate data by user.
-
High-Availability
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
There is no need for a database backend. Whatever you put in LSMCD stays in LSMCD unless you say otherwise.
-
Separate Data by User
Allow each user have their 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 have multiple virtual pools of memory. You can fine tune these pools, allowing you to improve your hit/miss ratio.
Additionally, 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 used strictly as LiteSpeed Memcached servers.
Separation of Data by User
If you are in a shared hosting environment, there may be an advantage to keeping each user’s data separated as it allows you to offer both security and performance. This is a feature unique to LSMCD.
With this feature enabled, data saved by one user is not visible to any other users. In Memcached and traditional LSMCD, any data stored is available to all users (or only authorized users if you have the security method SASL enabled). This allows fast population of the cache and high utilization. However, it is insecure and thus can't be used to cache any data which is deemed to be sensitive to a specific user.
The separation of data option allows data to be available only to the user authorized to access it. Thus the advantages of Memcached performance become available to sensitive data. If you are using LSMCD's separation of data with CloudLinux/cPanel, you may access the cPanel user interface. This interface was written specifically to allow users to change their own password and see statistics for their own user space. This will help in a shared hosting environment.
Who Can Take Advantage of LSMCD?
Because LSMCD is fully compatible with Memcached, there are many applications available from a large number of vendors.
LiteSpeed's own LSCache for WordPress supports object cache, including LiteSpeed Memcached. When you configure LSCWP to use Memcached/LSMCD, you avoid hits to the backend database and thus improve performance of your WordPress site. Provide a userid and password to LSCWP, and it can take advantage of separation of data, as well.