• 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.

Dead Session and Expire

After a few discussions with some fellow developers, I think the policy of timeout and expire should be this:

timeout remains as it is, that is, sessions that have not been used within the "timeout" period of time will be flushed from the MCache. If you use a persistent storage system, a flushed session will be saved to disk, otherwise the session is lost.

A new parameter, "expire" will be used by persistent storage systems and ignored by MCache generally. The persistent storage system will use this parameter to delete sessions that have expired.

The only remaining issue not addressed by this solution is what I'll call "timely expire" in which sessions are actively removed (from MCache and persistent storage) at the moment they expire. Since timeout and expire are more or less along the lines of "garbage collection," I think lazy deletes are appropriate for the functionality. If you need something more active, there is a delete mechanism that can be used to explicitly delete a session in MCache and persistent storage.

Beta 7 -- Coming Soon!

MCache 2.0 has really been a lot of work, I'm not even sure it is a worthwhile effort, but 2.0 will be released before I give up.

Ironically, CGR or FTSS would probably be more interesting, but I really think MCache has some serious real word applications that a LOT of web sites or application servers that rely on NFS or SQL databases to share and distribute information for processing can benefit.

Up coming in Beta7 will be mfsvacuum, which will scan and clean up a filestore directory.

There are two issues being ironed out for Beta7
(1) The difference between removing an object from memory and permanently deleting it for disuse. In a purely RAM based implementation there is no difference. In a deployment where there is a persistent storage system, there is a difference. There are a few ways to handle this, the task is choosing the correct one.

Mohawk Software's Next GPL Project

Vote on the next Mohawk Software GPL project!

Mohawk Software has been independently developing software for over a decade, and there are a lot of internal projects that can be brought out as GPL projects, here is a list of the top four:

FTSS: Full Text Search System
A scalable pre-indexing text search system with phrase ranking and metaphone translation. FTSS has a variety of "plugins" allowing custom input interfaces and formats, search request output communications protocol and formats, word translators and more. FTSS currently supports PGSQL, ODBC, Sqlite, and MySQL as input sources, and provides HTTP request, with raw text or XML output formats.

Syndicate content