我正在G-WAN服务器上开发一个web应用程序,该服务器是一个多线程web服务器。我没有足够的关于在多线程环境中使用G-WAN可用的KV存储的信息,G-WAN论坛已经关闭,无法发布问题。。。这就是为什么我正在寻找另一个开发用于多线程环境的快速KV存储。值大小将很小,小于20KB。你知道一个快速KV存储可以非常快速地处理大小小于20KB的数据吗?我听说过memcached,REDIS,东京内阁。。。但是哪一个最适合多线程环境和存储小数据量?
事实上,我想在KV存储中存储URL作为关键字,以及与HTML数据和HTML数据显示次数计数器相关联的值。我只想确保计数器在多线程环境中正确递增,如果可能的话,不需要使用互斥和其他东西来管理对同一数据的可能并发访问。
如果你有在多线程环境中使用KV商店的经验,你能分享一下你的经验吗?
谢谢Jérôme
对于一些小而简单的东西,我个人会考虑使用老式的GDBM。虽然它本身不是线程安全的,但它足够小、简单和快速,尤其是对于少量数据。添加线程安全性应该很简单,因为包装器函数用一个简单的信号量进行阻塞。
您关于G-Wan KV Store的问题已在此处得到解答。
与lock
(如GDBM
的建议semaphore
)相比,优势在于当线程持有锁时,G-Wan的KV存储永远不会阻塞:没有锁。