如何在golang中实现高效的内存键值存储

我想知道golang中是否有任何包含到期且有效的包

我检查了几个,这是them中的一个,但是从实现的角度来看,它是锁定整个缓存来写一个条目(检查this),这是不需要的吗?

是否可以锁定一个条目而不是锁定整个缓存?

最佳答案 从您在问题中链接的同一个repo中,还有一个分片策略的实现,它应该为每个分区提供锁定,而不是整个缓存的锁定.例如,如果您决定使用4个缓存进行分区,则可以计算密钥的某些哈希的模数,并将其存储在该索引的缓存中.改进这种方法,理论上你可以使用子分区进行分片,通过二叉树分解密钥,为你提供所需的缓存(和锁定)粒度.

点赞