1

我正在使用排序集使用 Redis 创建索引。我想要匹配结果的以下顺序(首先是较小的字符串):

a
ar
art
artu
artur
arturo

Redis 文档中,我使用分数来存储数据:

元素被认为是从最高分数到最低分数排序的。

我为实现这一点而编写的代码有一个幻数 1000,但这是一个任意数字,足以比我必须存储的最大字符串大(我也不知道确切的最大字符串长度是多少,但我m确定小于1000)

Hash[
  'elem'  => string
  'score' => 1000 - string.size
]

你如何用感觉删除这个神奇的数字?

4

1 回答 1

2

分数必须是正数吗?如果不:

'score' => -string.size

本质上,这是用 0 替换 1000。0 是您可以使用的数字之一,而不会被认为是魔术!

于 2013-07-10T10:27:03.703 回答