On Tue, 24 Feb 2004 21:21:21 +0100, Dieter Maurer <dieter@handshake.de> wrote:
I have implemented caching. I am using a dictionary (keyed by paths) of dictionaries (keyed by textual query representations; values are triples [searchTime, lastAccessTime, result]) in a module namespace. "searchTime" is used to ignore outdated results, "lastAccessTime" is used to flush old cache entries.
Thanks for the tip. I haven't used module namespace before, though I read in ZODB docs about possibility to use either volatile attributes or module namespace. Are there - besides ZEO - any issues that I should be aware of before doing it? And is there actually anything else in it than creating a module with functions that get and set data, and flush cached data.
Drawback: the cache cannot be (easily) controlled across ZEO clients.
One thing why I thought first about using cache objects instead of module namespace was the possibility to share cache between ZEO clients if temporary folder will be changed into persistent folder and mapped with dbtab according to the recipe found at zopelabs. http://www.zopelabs.com/cookbook/1061234337 Naturally this would make it slower than using module namespace, but it shouldn't it still be faster than doing new queries to catalog. Any thoughts on that. -- -huima