high speed interprocess associative array
Is there library usable from c++ for sharing fairly simple data (integers,floating point numbers, strings) between cooperative processes?
Must be :
- high-speed (SQL-based methods too slow due to parsing)
- able to get,set,update,delete开发者_开发百科 both fixed and variable data types (e.g. int and string)
- ACID (atomic,consistent,isolated,durable)
- usable under linux
- usable by processes without a shared parent.
- highly compatible license: e.g. LGPL,MIT,BSD
For bonus points:
- ability to work across the network.
- ability to handle aggregation/composition into more complicated structures
Take a look at boost::interprocess. For local use, you probably can't beat a map or hash table in shared memory. Allowing networking makes things more difficult, in that case something like memcached or CouchDB might be more appropriate.
精彩评论