我有两个已排序的集合,想要进行交集操作,即(年龄在25到35岁之间)并且(薪资在250到350之间)
除了以下方法,是否存在更高效的方式:
ZUNIONSTORE t_age 1 age WEIGHTS 1
ZREMRANGEBYSCORE t_age -inf (25
ZREMRANGEBYSCORE t_age (35 +inf
ZINTERSTORE result 2 salary t_age WEIGHTS 1 0
ZRANGEBYSCORE result 250 350
ZSET
元素较少,然后克隆并修剪较短的那个。ZSET
来更快地清理。1) 1) (integer) 14
2) (integer) 1444165498
3) (integer) 936762
4) Complexity info: N:1000000,M:1000000
5) 1) "ZUNIONSTORE"
2) "temp3"
3) "1"
4) "temp1"
5) "WEIGHTS"
6) "1"
2) 1) (integer) 13
2) (integer) 1444165421
3) (integer) 3166360
4)
5) 1) "evalsha"
2) "48286113cfe4b389d516e98646e5f4e086decc34"
3) "2"
4) "temp1"
5) "temp2"
6) "0"
ZINTERSTORE result 2 salary t_age WEIGHTS 1 0
中的零吗? - thepirat000