为啥 redis 使用跳表(skiplist)而不是使用 red-black?
- 发表时间:2025-06-28 09:55:16
- 来源:
看到有人拿LevelDB/RocksDB和Redis的跳表来比较我是不太同意的,leveldb和rocksdb的跳表首先他们底层是LSM,跳表的目的本身是为了做memtable用,而跳表能提供很好的concurrency(lockfree简单),而红黑树写个lockfree可能写死还没有跳表性能强,所以用跳表是很情有可原的。
而redis这个最开始只有单线程的用跳表我个人还是认为是历史遗留问题(偷懒)。
推荐资讯
- 2025-06-20 22:20:16为什么 macOS 并不差,可市场总敌不过 Windows?
- 2025-06-20 22:25:16golang为什么要内置map?
- 2025-06-20 21:25:16MacOS真的比Windows流畅吗?
- 2025-06-20 21:15:15如何看待多地开展查摆年轻干部玩心重、混日子、说话随意、口大气粗等问题的行动?
- 2025-06-20 22:25:16老公想要买2万左右的相机,我该同意吗?
- 2025-06-20 22:05:16PHP现在真的已经过时了吗?
- 2025-06-20 21:20:15iPad Pro大概可以使用多久呢?
- 2025-06-20 22:05:16为什么老顾客吃着吃着就不再来照顾生意了呢?
- 2025-06-20 21:00:15大家的NAS都是24小时不关机吗?
- 2025-06-20 22:00:15婆婆早晚喝一瓶纯牛奶,每一次还剩半箱就开始催儿子买。每次听见她喊她儿子买我就不太舒服我是不是太小气?
推荐产品
-
现在还有人一直坚持使用 Eclipse,不使用 IntelliJ IDEA 吗?
我来抬下杠,IDEA2015年后才火起来,之前为何不火,我当 -
微软edge浏览器为什么逐渐被其他的浏览器代替?
微软周一宣布,将在欧洲停止目前Microsoft Edge的 -
JetBrains 放弃 AppCode 是否是一个错误决定?
没设么错误 jb做swift根本打不过xcode 你在苹果的 -
PHP和Node.js哪个更爽?
主要是只有nodejs能实现一份代码前后端共用,省了不少事。
最新资讯