- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
问题是关于这些 Redis 命令以及如何在单个调用中使用 3° 和 4°。
1)
HMSET key field value [field value ...]
2)
ZADD key [NX|XX] [CH] [INCR] score member [score member ...]
3)
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
4)
ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
我有数千个 x y z 坐标的点:p1,p2,p3,p4,p5,p6,p7...
HMSET p_1 x 10 y 20 z 30
HMSET p_2 x 20 y 30 z 40
HMSET p_3 x 30 y 40 z 50
...
...
我有三个排序集:xsorted、ysorted、zsorted
zadd xsorted 10 p_1
zadd xsorted 20 p_2
zadd xsorted 30 p_3
...
(所有x作为分数和点的键p_1,p_2,p_3...作为成员
zadd ysorted 20 p_1
zadd ysorted 30 p_2
zadd ysorted 40 p_3
....
(所有y作为分数和点的键p_1,p_2,p_3 ...作为成员
zadd zsorted 30 p_1
zadd zsorted 40 p_2
zadd zsorted 50 p_3
...
(所有 z 作为分数和点的键 p_1,p_2,p_3...作为成员
作为 ZRANGEBYSCORE 的结果,我有 range_x、range_y、range_z 客户端:
range_x = ZRANGEBYSCORE xsorted min max
range_y = ZRANGEBYSCORE ysorted min max
range_z = ZRANGEBYSCORE zsorted min max
由于 ZINTERSTORE,我有 xyzinter 客户端:
ZINTERSTORE xyzinter 3 range_x range_y range_z
所以 xyzinter 具有 x,y,z 坐标值范围内的点的键。很好,我需要它。
是否有可能以更快的方式仅通过“两次”调用来执行上述命令?
类似于:
1)
ZINTERSTORE xyzinter 3
ZRANGEBYSCORE xsorted min max
ZRANGEBYSCORE ysorted min max
ZRANGEBYSCORE zsorted min max
2)
ZRANGE xyzinter start stop
提前致谢马里奥
最佳答案
不,您必须同时调用这两个命令。但是,您可以将它们包装在将在服务器端运行的 Lua 脚本中,然后您的客户端将对 Redis 进行一次调用。在 https://redis.io/commands/eval 阅读更多关于 Redis 中的 Lua 脚本的信息
关于单个命令调用中多个 ZRANGEBYSCORE 的 Redis ZINTERSTORE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56590067/
我向排序集中添加了六个数据。然后我使用 zinterstore 来获得预期的结果。但结果为 0。 zadd la.41 41 kfc zadd la.42 42 mdl zadd la.43 43 a
Redis 无法做到这一点,我对吗? ZINTERSTORE 两个 zset(A 和 B),并使 output 集的分数等于 zset B的分数? 我认为唯一的方法是 AGGREGATE SUM|MI
问题是关于这些 Redis 命令以及如何在单个调用中使用 3° 和 4°。 1) HMSET key field value [field value ...] 2) ZADD key [NX|XX]
我现在有两个 zrange 值: 127.0.0.1:6379> zrange followers:2 0 -1 1) "1" 2) "3" 127.0.0.1:6379> zrange follow
我知道我可以用普通集作为参数 ( Redis: How to intersect a "normal" set with a sorted set? ) 来做一个 zinterstore。这会影响性能
我一直在 C# 中使用 Booksleeve 作为我的 redis 驱动程序并且对此非常满意 - 但我发现需要对排序集进行一些工作。看起来这些在 Booksleeve 中只得到最少的支持——例如,没有
我正在尝试使用 node_redis 从 node.js 使用 redis 的 ZINTERSTORE 命令: //node.js server code var redis = require("r
我正在使用 node_redis 库 https://github.com/NodeRedis/node_redis 关于如何使用 SINTERSTORE/SUNIONSTORE 和 ZINTERST
我是一名优秀的程序员,十分优秀!