Geospatial类型
说明:Geospatial类型主要用于记录地区的经纬度信息,用于获取不同地区的距离等信息。底层使用zset实现,所有zset的相关操作在Geospatial类型中同样适用。
127.0.0.1:6379> geoadd city 116.40 39.90 beijing # 添加城市的经纬度信息
(integer) 1
127.0.0.1:6379> geoadd city 121.47 31.23 shanghai
(integer) 1
127.0.0.1:6379> geoadd city 106.50 29.53 chongqing 114.05 22.52 shenzhen # 同时添加多个城市的经纬度信息
(integer) 2
127.0.0.1:6379> geopos city beijing # 获取城市的经纬度信息
1) 1) "116.39999896287918091"
2) "39.90000009167092543"
127.0.0.1:6379> geopos city beijing shanghai # 获取多个城市的经纬度信息
1) 1) "116.39999896287918091"
2) "39.90000009167092543"
2) 1) "121.47000163793563843"
2) "31.22999903975783553"
127.0.0.1:6379> geodist city beijing shanghai # 获取城市之间的距离(m)
"1067378.7564"
127.0.0.1:6379> geodist city beijing shanghai km # 获取城市之间的距离(km)
"1067.3788"
127.0.0.1:6379> georadius city 110 30 1000 km # 获取以(110,30)为圆心半径1000km以内的城市
1) "chongqing"
2) "shenzhen"
127.0.0.1:6379> georadiusbymember city beijing 1500 km # 获取以beijing为中心1500为半径的城市
1) "chongqing"
2) "shanghai"
3) "beijing"
127.0.0.1:6379> geohash city beijing shanghai # 获取 beijing和shanghai的经纬度的hash值
1) "wx4fbxxfke0"
2) "wtw3sj5zbj0"
Hyperloglog类型
说明:Hyperloglog类型用于获取基数信息,所谓的基数表示某个集合中不重复元素的个数。
127.0.0.1:6379> pfadd myset a b c d e f # 添加第一组
(integer) 1
127.0.0.1:6379> pfadd myset2 e f f g h i j a # 添加第二组
(integer) 1
127.0.0.1:6379> pfcount myset # 获取第一组集合的基数
(integer) 6
127.0.0.1:6379> pfcount myset2 # 获取第二组集合的基数
(integer) 7
127.0.0.1:6379> pfmerge myset3 myset myset2 # 合并两个集合
OK
127.0.0.1:6379> pfcount myset3
(integer) 10
Bitmap类型
说明:Bitmap类型用于存储二值类型的数据,例如:全中国疫情情况,未感染置0,感染置1;本周打卡情况,未打卡置0,打卡置1。
127.0.0.1:6379> setbit sign 1 0 # 设置打卡信息
(integer) 0
127.0.0.1:6379> setbit sign 2 1
(integer) 0
127.0.0.1:6379> setbit sign 3 1
(integer) 0
127.0.0.1:6379> setbit sign 4 0
(integer) 0
127.0.0.1:6379> setbit sign 5 1
(integer) 0
127.0.0.1:6379> setbit sign 6 0
(integer) 0
127.0.0.1:6379> setbit sign 7 0
(integer) 0
127.0.0.1:6379> getbit sign 3 # 查看周三是否打卡
(integer) 1
127.0.0.1:6379> getbit sign 6
(integer) 0
127.0.0.1:6379> bitcount sign # 统计本周打卡人数
(integer) 3
网友评论