仓库地址: https://github.com/lxzan/memorycache
轻量级的内存 KV 存储, 由哈希图和最小堆实现, 没有特别为 GC 做优化. 拥有 O(1)的读取效率, O(logN)的写入效率. 缓存淘汰策略: 检测到过期或者容量溢出时, 堆顶元素会被清除一部分, 每次至多删除 16*1000(默认值, 后面省略)个 key, 30s 检查一次.
go test -benchmem -run=^$ -bench . github.com/lxzan/memorycache/benchmark
goos: darwin
goarch: arm64
pkg: github.com/lxzan/memorycache/benchmark
BenchmarkSet/10000-8 13830640 87.25 ns/op 0 B/op 0 allocs/op
BenchmarkSet/1000000-8 3615801 326.6 ns/op 58 B/op 0 allocs/op
BenchmarkGet/10000-8 14347058 82.28 ns/op 0 B/op 0 allocs/op
BenchmarkGet/1000000-8 3899768 262.6 ns/op 54 B/op 0 allocs/op
PASS
ok github.com/lxzan/memorycache/benchmark 13.037s
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.