区块链(Web3)开发工程师

区块链(Web3)开发工程师

前两天倒腾redis的有序集合时,自己发现了一个问题,redis的有序集合在score相同的情况 下是如何排序的?

通过谷歌搜索,发现了一些线索,在score相同的情况下,redis使用字典排序,不过不是太明白什么是字典排序,于是自己测试了一下,相信下面的截图就能回答这个问题了:

【服务端 | Redis】如何使用redis 有序集合实现股票交易的订单表(价格优先、时间优先)-LMLPHP

在score相同的情况下,redis使用字典排序,而所谓的字典排序其实就是“ABCDEFG”这样的排序,在首字母相同的情况下,redis会再比较后面的字母,还是按照字典排序(如截图所示,beigai和baijing的排列顺序)。

根据上图我们可以将价格格式化后设置为score,将时间戳和订单额格式化后合并为一个字段,保持所有订单的此字段格式相同,redis会通过字典自动排序用户交易。

09-26 10:33