我需要一些快速的方法来更新键/值类型数据,或者在Linux上更新系统范围内的任意数量的“计数器”。有问题的系统是Ubuntu 10.04,RHEL 4.8和RHEL 5.x。
现在,我知道memcached,但它似乎更适合长时间运行的进程,例如FastCGI进程。不幸的是,我的流程是传统的CGI,因此必须在流程本身之外使用一些持久存储。
我有哪些选项,哪些最简单?最便宜(w.r.t。运行时)从C / C ++访问?
注意:这不是测量速度(即性能计数器),而是测量某种类型事件发生的次数。为了可靠地计数,我需要能够随意原子地递增计数器......
答案 0 :(得分:1)
您可以尝试使用小型SQLite数据库。 SQLite是快速且可靠的,任何应用程序都可以修改它,并且事务方法可以防止冲突。只需为每个事件向表中添加记录,或使用带有[event]列的单个表。插入速度非常快,搜索速度慢,但您只能在分析数据时进行搜索,希望在性能影响之后。
答案 1 :(得分:1)
答案 2 :(得分:1)
如今,按顺序
更新键/值类型数据
开发人员经常使用NoSQL个数据库。它们主要在Linux系统上运行,其中一些是C ++(MongoDB& ClusterPoint)。它们对于这类事情来说真的很快,它们很难保持低延迟,并且应该很容易从C ++访问它,因为它们是用C ++编写的。