chenyahui / chenyahui.github.io

My blog
http://www.cyhone.com
0 stars 2 forks source link

剖析Golang Bigcache的极致性能优化 | 编程沉思录 #66

Open chenyahui opened 7 months ago

chenyahui commented 7 months ago

https://www.cyhone.com/articles/bigcache/

本文属于 《Golang源码剖析系列》 Bigcache是用Golang实现的本地内存缓存的开源库,主打的就是可缓存数据量大,查询速度快。 在其官方的介绍文章《Writing a very fast cache service with millions of entries in Go》一文中,明确提出的bigcache的设计目标: 多: 缓存的元素数量非常大,可以达到百万级或千万级。 快:

fengqi commented 7 months ago

很好的分析,正好最近做过一次本地缓存选型,因为涉及到序列化和数据量少以及灵活的过期时间,选择了go-cache,看了几个源码以为都是map,正好bigcache的没看,没想到这么多心思在里面

chenyahui commented 7 months ago

@fengqi 很好的分析,正好最近做过一次本地缓存选型,因为涉及到序列化和数据量少以及灵活的过期时间,选择了go-cache,看了几个源码以为都是map,正好bigcache的没看,没想到这么多心思在里面

bigcache在过期时间上并不灵活,只是FIFO式的淘汰,可能会导致缓存命中率没那么高。这点需要注意下~

fengqi commented 7 months ago

@chenyahui

@fengqi 很好的分析,正好最近做过一次本地缓存选型,因为涉及到序列化和数据量少以及灵活的过期时间,选择了go-cache,看了几个源码以为都是map,正好bigcache的没看,没想到这么多心思在里面

bigcache在过期时间上并不灵活,只是FIFO式的淘汰,可能会导致缓存命中率没那么高。这点需要注意下~

好的 谢谢