为啥 redis 使用跳表(skiplist)而不是使用 red-black?
看到有人拿LevelDB/RocksDB和Redis的跳表来比较我是不太同意的,leveldb和rocksdb的跳表首先他们底层是LSM,跳表的目的本身是为了做memtable用,而跳表能提供很好的concurrency(lockfree简单),而红黑树写个lockfree可能写死还没有跳表性能强,所以用跳表是很情有可原的。
而redis这个最开始只有单线程的用跳表我个人还是认为是历史遗留问题(偷懒)。
相关推荐
最新更新
推荐阅读
为什么任天堂在NS2上没有选择使用OLED屏幕以提升续航能力和显示效果?
鱼缸氨氮含量低,但是硝酸盐和亚硝酸盐爆表,已经一个多周了,咋办?
5080显卡用个五六年可以吗?
怎么评价国内AI企业人肉背15块80TB硬盘,飞去马来西亚用英伟达训练数据,以规避美国禁令?
中国的 App 怎么这么恶心啊,还是说安卓恶心?
新婚那天晚上你们是怎样度过的?
你怎么评价日本某个前空姐说:“如果我在经济舱,年薪2000万日元以下的乘客没有资格给我递名片”?
微软宣布 5 月 28 日开始下架「Microsoft 远程桌面」应用,背后原因有哪些?
黄一鸣为什么敢承认孩子是王思聪的?
你怎么看待剪映收费过高问题?
猜你喜欢
关注我们
