doudou3716 2016-04-16 06:30 采纳率: 100%
浏览 492
已采纳

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

I would like to know are there any packages in golang that will have expiry and efficient

I checked a few, Here is one of them, But from the implementation perspective it is locking entire cache to write one entry (Check this) which is not needed right?

Is it possible to lock one entry instead of locking entire cache?

  • 写回答

2条回答 默认 最新

  • douzangdang2225 2016-04-16 07:01
    关注

    From the same repo you linked in your question, there is also an implementation of sharding strategy that should provide you with a lock per partition vs a lock for the whole cache. For example if you decide to partition using 4 caches, you can compute the modulo of some hash for the key and store in the cache at that index. Refining this same method, you could in theory shard using sub-partitions, decomposing the key thru a binary tree to give you the desired caching (and locking) granularity.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?