为啥 redis 使用跳表(skiplist)而不是使用 red-black?

2025-06-26 02:55:10

看到有人拿LevelDB/RocksDB和Redis的跳表来比较我是不太同意的,leveldb和rocksdb的跳表首先他们底层是LSM,跳表的目的本身是为了做memtable用,而跳表能提供很好的concurrency(lockfree简单),而红黑树写个lockfree可能写死还没有跳表性能强,所以用跳表是很情有可原的。

而redis这个最开始只有单线程的用跳表我个人还是认为是历史遗留问题(偷懒)。

为啥 redis 使用跳表(skiplist)而不是使用 red-black?
广告位810*200
相关阅读
Golang vs Rust vs Dlang 哪个更有前途,哪位大牛这 3 门语言都用过?

Golang vs Rust vs Dlang 哪个更有前途,哪位大牛这 3 门语言都用过?

Dlang没前途的,他犯了大忌,升级背刺用户搞不兼容,社区动...

2025-06-21
大环境什么时候可以好?

大环境什么时候可以好?

看历史,美国1929年陷入大萧条,直到1945年后,才逐渐走...

2025-06-21
和女生旅游开一间房有什么注意事项?

和女生旅游开一间房有什么注意事项?

背包旅行时,我和许多女生拼过房。 第一次在武夷山住青旅,我...

2025-06-21
在中国有多少开发者使用Rust编程语言?

在中国有多少开发者使用Rust编程语言?

Helix editor 为 helix editor 写了...

2025-06-21
华为Pura 80首销遇冷,是否说明消费者已经开始对麒麟芯片性能有所觉醒?

华为Pura 80首销遇冷,是否说明消费者已经开始对麒麟芯片性能有所觉醒?

我个人一点看法,我买了16pm。 其实我在对比ov的ult...

2025-06-21