也许问题应该是:如何将字符串表示为数字,以便按其数字表示排序的结果与按字符串排序的结果相同?我想出了一种方法,可以对每个字符串排序多达9个字符,但似乎应该有更好的方法。
预先声明,我认为使用Redis的词典命令不起作用。(请参见以下示例。)
例如:假设我想要预先对所有链接到某个ID的名称进行排序,以便我可以使用ZINTERSTORE快速获取基于它们的名称排序的ID的有序列表(而不使用redis的SORT命令)。理想情况下,我希望将ID作为zset的成员,并且每个名称的数字表示将是zset的分数。
这有意义吗?还是我做错了?
预先声明,我认为使用Redis的词典命令不起作用。(请参见以下示例。)
例如:假设我想要预先对所有链接到某个ID的名称进行排序,以便我可以使用ZINTERSTORE快速获取基于它们的名称排序的ID的有序列表(而不使用redis的SORT命令)。理想情况下,我希望将ID作为zset的成员,并且每个名称的数字表示将是zset的分数。
这有意义吗?还是我做错了?
ZRANGEBYLEX
来处理这种情况。 示例(Lua):cData = redis.call( 'zrangebylex', cSliceKey, '[' .. cSliceFilter, '(' .. cSliceFilter .. '\001')
在此示例中,我们使用chr(0)作为分隔符。 - Tw Bert