Vitess 将使用 Theine 作为 plan cache

2023-09-15 22:10:49 +08:00
 matrix1010

PR 传送

Vitess 将在 18.0 废弃旧的 Ristretto 及 LRU 缓存,统一使用 Theine 。作为一个只有 110 个 stars 的不知名项目被 Vitess 这种级别的采纳感觉有点受宠若惊。Vitess 在讨论及提 PR 的时候都没有 at 过我,还是 ben 大神在我的PR里告诉我的。希望感兴趣的小伙伴也多试用一下 Theine ,毕竟我自己没什么大厂经历,没有高并发海量数据之类的验证环境。

顺便放上两个版本的 Theine 以及 benchmark:

Python / Go / Go 的 benchmark

1435 次点击
所在节点    Go 编程语言
7 条回复
hh4062703
2023-09-16 08:13:12 +08:00
赞啊
matrix1010
2023-09-16 09:16:03 +08:00
@hh4062703 感谢
mightybruce
2023-09-16 17:03:16 +08:00
小伙你项目可能火了,vitess 可是云原生分库分表的项目。
另外 planetscale serverless 数据库 都是基于 vitess 上的。
matrix1010
2023-09-16 17:34:12 +08:00
@mightybruce cache 这么底层的东西很难火,除非是 Redis 这样独立成服务的。ristretto 能有这么多 stars 是 dgraph 本身的流量加持,caffeine 则是因为完全原创了 tinyLFU 缓存策略。其实能多些用户使用我就很开心了,用户多了要是有什么 bug 也能及时发现
CC11001100
2023-09-17 11:43:37 +08:00
@matrix1010 #4 老哥看得很透彻哇,是啊一些底层库可能用到的人很多,都基本都是比较靠上的用户层的库的依赖传递过来的,也不会有那么多人去看原理实现研究底层的实现,但是一旦出问题就会被疯狂抨击了。。。
equationzhao
2023-09-20 00:45:22 +08:00
围观大佬
Kisesy
2023-09-24 01:25:42 +08:00
这项目还不是直接内置你的原始代码,而是有些改动,比如 https://github.com/vitessio/vitess/blob/main/go/cache/theine/mpsc.go

你也可以跟着更新一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/974278

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX