一、Geospatial
Geospatial是地理位置类型,我们可以用来查询附近的人、计算两人之间的距离等。
新增:
geoadd city 106.54041 29.40268 chongqing 118.8921 31.32751 nanjing 117.30794 31.79322 hefei 102.82147 24.88554 kunming 91.13775 29.65262 lasa 116.23128 40.22077 beijing
查看集合key:
1 | ZRANGE city 0 -1 |
查看指定位置:
1 | geopos city nanjing |
查看多个指定位置:
1 | geopos city nanjing beijing |
计算两个位置的距离:
1 | geodist city nanjing beijing |
查看指定位置的1000公里范围内有哪些城市(111,45是经纬度):
1 | georadius city 111 45 1000 km |
查看指定位置的1000公里范围内有哪些城市,返回带上经纬度:
1 | georadius city 120 38 1000 km withcoord |
查看指定位置的1000公里范围内有哪些城市,返回带上距离和经纬度:
1 | georadius city 120 38 1000 km withcoord withdist |
查看指定位置的1000公里范围内有哪些城市,返回带上距离和经纬度和哈希(哈希值越像则越近):
1 | georadius city 120 38 1000 km withcoord withdist withhash |
查看指定位置的1000公里范围内有哪些城市,返回带上距离和经纬度和哈希(哈希值越像则越近),只返回两个:
1 | georadius city 120 38 1000 km withcoord withdist withhash count 2 |
查找指定元素指定范围内的元素:查询南京 500公里范围有哪些城市
1 | georadiusbymember city nanjing 500 km |
返回北京和南京的经纬度的 hash值:
1 | geohash city beijing nanjing |
删除一个位置:
1 | ZREM city lasa |
二、Hyperloglog
Hyperloglog指的是基数,两个数据集中不重复的元素,在Redis中,会有一定的误差性。 官方给出的误差率是0.81%,占用的内存是固定的,2^64个元素,相当于只需要12kb的内存即可。效率极高,网站的访问量,就可以利用Hyperloglog来进行计算统计!!
添加数据集:
1 | pfadd dataList 1 2 3 4 5 6 7 |
统计数据集中的元素:
1 | pfcount dataList |
取并集:
1 | pfmerge newdata dataList dataList1 |
三、Bitmap
Bitmap指的是位存储,操作二进制位来进行记录,就只有0 和 1 两个状态,可能需要我们统计用户的登陆信息,员工的打卡信息等等。只要是事务的只有两个状态的,我们都可以用Bitmap来进行操作。
添加:
1 | setbit login 1 1 |
获取:
1 | getbit login 1 |
统计:
1 | bitcount login |
到此这篇关于Redis中三种特殊数据类型命令的文章就介绍到这了,更多相关Redis特殊数据类型命令内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!