你现在的位置是:当前位置: 首页 >


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

更新时间:2025-06-25 23:30:11

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

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

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

案例推荐

case recommendation
  • 为什么大家不再提星链了(包括外网)?

    查看案例

  • 华为自研的仓颉编程语言将于 7 月 30 日开源,这款语言将如何影响未来的开发趋势?

    查看案例

  • 怎样成为全栈工程师(Full Stack Developer)?

    查看案例

  • 我特别不明白,我们这边做j***a 的,为什么要用windows 做server?

    查看案例

  • 为什么是9月3日阅兵而不是10月1日国庆阅兵?

    查看案例

  • Labubu大量补货造成二手价格腰斩,你能用经济学解释这种市场金融现象么?

    查看案例

  • 你的内衣丢过吗?

    查看案例

  • 三只羊是不是被人做局了?

    查看案例