我已经看到这个传递结果到 redis 中的另一个命令, 并且通过命令行使用这个命令效果很好:
src/redis-cli keys '*' | xargs src/redis-cli mget
但是我们怎样才能通过生菜达到同样的效果(我开始尝试 4.0.2.Final)
在以下情况下,对此的解决方案也特别重要:
假设我们正在使用地理定位功能,我们使用 GEOADD 添加一组“我的位置类别”位置
GEOADD "category-1" 8.6638775 49.5282537 "location-id:1" 8.3796281 48.9978127 "location-id:2" 8.665351 49.553302 "location-id:3"
接下来,假设我们执行 GeoRadius 以获取“类别 1”的 8.6582361 49.5285495 10 公里半径范围内的位置
现在当我们得到 "location-id:1" & "location-id:3"
鉴于我已经为上述键“location-id:1”和“location-id:3”设置了值
我想通过管道命令执行 GEORADIUS 以及对所有匹配结果执行 mget。
Redis 是否提供功能来做到这一点?
和/或我们如何通过 Lettuce 客户端库实现这一点,而无需先手动迭代 GEORADIUS 的结果,然后手动进行 mget。
对于使用它的程序来说,这将是更有效的性能。
有谁知道我们该怎么做?
更新 这是我上面讨论的场景的管道命令:
src/redis-cli GEORADIUS "category-1" 8.6582361 49.5285495 10 km | xargs src/redis-cli mget
现在我们需要知道如何通过生菜做到这一点