所以我已经看过redis文档以及关于redis内部数据结构的问题,但是如果没有通过redis源代码,我似乎无法得到关于什么的回答数据类型用于"得分"排序清单。
我问的原因是我想我想要一个排序集,让我们称之为" CHH",其中得分如下:" {u64}〜{ int}",然后我的值是一个逗号分隔值大的字符串" stuff"对于我的应用程序,保证对于给定的分数是唯一的。
我见过的所有例子一般都将得分显示为一个简单的整数值,他们认为它可以是lexagraphically(sp?)比较。分数是否有尺寸限制?它的内部表现是什么?
答案 0 :(得分:3)
Redis排序集使用双64位浮点数来表示分数。在我们支持的所有体系结构中,这表示为IEEE 754浮点数,它能够精确地表示包含的 - (2 ^ 53)和+(2 ^ 53)之间的整数。在更实际的术语中,-9007199254740992和9007199254740992之间的所有整数都是完全可表示的。较大的整数或分数在内部以指数形式表示,因此您可能只得到十进制数的近似值,或者您设置为得分的非常大的整数。