Redis中获取GEORADIUS全匹配结果及设置不限COUNT的方法
关于Redis GEORADIUS命令获取全部匹配结果的解答
嘿,我来帮你理清这两个问题:
1. 如何获取GEORADIUS匹配到的全部结果?
其实很简单——只要你不在GEORADIUS命令里指定COUNT参数,它默认就会返回所有符合条件的地理空间元素。举个实际的命令例子:
GEORADIUS mygeo 116.397428 39.90923 5 km
这个命令会返回mygeo这个地理空间集合里,距离坐标(116.397428, 39.90923)5公里范围内的所有元素。
2. 如何用COUNT参数实现不限数量的查询?
如果之前你习惯带COUNT参数,现在想要取消数量限制,分两种情况:
- Redis 6.2及以上版本:官方提供了专门的方式——把
COUNT的值设为-1,明确表示要获取所有匹配结果。命令如下:GEORADIUS mygeo 116.397428 39.90923 5 km COUNT -1 - Redis 6.2以下版本:没有专门的特殊值,这时最优雅的做法就是直接省略
COUNT参数,而不是设置一个极大的数值(虽然设置大数值也能工作,但不够规范)。
简单总结:要么不加COUNT,要么在新版本里用COUNT -1,都能拿到全部匹配结果~
内容的提问来源于stack exchange,提问作者Tomas Jansson
相关产品推荐
相关产品推荐

