What's changing in MCache?

  • warning: include(/tmp/fortune.txt): failed to open stream: No such file or directory in /home/mohawksoft/org/www/htdocs/includes/common.inc(1696) : eval()'d code on line 1.
  • warning: include(): Failed opening '/tmp/fortune.txt' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/mohawksoft/org/www/htdocs/includes/common.inc(1696) : eval()'d code on line 1.

I got a few emails asking about what is changing in MCache, well, a number of things that may be interesting.

First, sqlcache's perpetual beta status has been a problem. One of the sicking points of it was the use of SQLite as a base SQL engine for "serverless" use. For a number of reasons, SQLite has not been up to the task of sitting in the background for MCache. After getting fed up, I re-evaluated the use of SQLite.

The only way to move the sqlcache plugin forward, is the elimination of SQlite as an option. The only way to do this and keep server-less functionality was to re-address the file serializer.

The file serializer was designed around a single data file for all the sessions, and the "state" of the MCache daemon rather than individual session. The new plugin, a cross between sqlcache and fileplug, filestore, saves all sessions in their own file. While it can work like the old fileplug, saving all sessions on a serialize event, it can also "commit" sessions to disk after changes.