I need some suggestion for the erlang in-memory cache system.
- The cache item is key-value based storage. key is usually an ASCII string; value is erlang's types include number / list / tuple / etc.
- The cache item can be set by any of the node.
- The cache item can be get by any of the node.
- The cache item is shared cross all nodes even on different servers
- dirty-read is permitted, I don't want any lock or transaction to reduce the performance.
- Totally distributed, no centralized machine or service.
- Good performance
- Easy install and deployment and configuration and maintenance
First choice seems to me is mnesia, but I have no experence on it. Does it meet my requirement? How the performance can I expect?
Another option is memcached --
But I am afraid the performance is lower than mnesia because extra serialization/deserialization are performed as memcached daemon is from another OS process.