On Sun, 2003-07-20 at 15:47, Patrick Galbraith wrote: > One thing that my code does is check to see if it's cache has been > updated to the db, which I wish I could really have some sort of cache > that's in one place in memory (as opposed to each child process).
Well, you can't, unless you use threads. > I know there's IPC, and also memcached. I've used IPC::Shareable before, > but don't know if that's the route I'd wanna go. It's not. IPC::Shareable is very slow. If you want to share data, use Cache::FileCache, Cache::Mmap, MLDBM::Sync, or IPC::MM. > Has anyone implemented a good caching system that sets up a global cache > that you don't have to check constantly because you happen to have been > served out by a child that doesn't have the latest cache from DB? One > single memory object? The systems I listed above all use a shared cache that will have the same data regardless of which process accesses it. - Perrin