剖析Golang Bigcache的极致性能优化

剖析Golang Bigcache的极致性能优化

💡 原文中文,约6200字,阅读约需15分钟。
📝

内容提要

Bigcache是用Golang实现的本地内存缓存的开源库,主打的就是可缓存数据量大,查询速度快。它通过数据分片存储、避免GC对map的影响和采用FIFO式的Ring Buffer设计等方式来提高性能。Bigcache的设计思想包括避免GC对map的影响、数据分片存储和FIFO式的内存结构设计。它的Set过程是将key和value序列化成[]byte并存储到BytesQueue中,然后将key和value的信息存储到hashmap中。Get过程是Set的逆过程,删除操作只是将key从map中删除。Bigcache的过期淘汰是通过遍历数组来删除过期的元素。它还进行了细节的极致优化,如使用ffjson替换json操作来提高性能。

🏷️

标签

➡️

继续阅读