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

Reply via email to