What I don't really like about IPC::Sharable is that it tends not to be a solution that scales really well,IMO. You can have a lot of IPC objects hanging around, but then there has to be some kind of way to manage them.
- Each has to have their own little handle.. (ipcs will show you what you've got)
- You sound like you're going to be doing something that may want to hold mulitple users. If you want to keep static information, how are you going to scale to more than one machine? Very tough to answer with IPC. RPC and a static daemon to hold this would be good, if you needed something more complicated than mySQL would provide.
- Shared memory is bad if you are only going to have one user get at a particular segment of the memory. There is no need for the overhead of the buildup and teardown of the handlers for that memory.
- Large state info, IMO, is best stored in a SQL table and torn down by a cron job every few minutes.
What you might want to look into for IPC-like functionality are
mySQL tables of type HEAP. They will be fast to open, easy to delete from and they can scale to more than one machine.. sizable improvement over practical concerns of IPC on a webserver.
--
jb