九、geospatial 地理位置
geoadd
127.0.0.1:6379> geoadd china:city 116.41 39.9 beijing #新增
(integer) 1
127.0.0.1:6379> geoadd china:city 121.43 34.50 shanghai
(integer) 1
127.0.0.1:6379> geoadd china:city 120.20 30.26 hangzhou 114.06 22.61 shenzhen
(integer) 2
geopos
127.0.0.1:6379> geopos china:city beijing #获得
1) 1) "116.40999823808670044"
2) "39.90000009167092543"
127.0.0.1:6379> geopos china:city beijing shanghai
1) 1) "116.40999823808670044"
2) "39.90000009167092543"
2) 1) "121.42999917268753052"
2) "34.49999971716130887"
geodist
#两人之间的距离
127.0.0.1:6379> geodist china:city beijing shanghai km
"747.0616"
127.0.0.1:6379> geodist china:city beijing shanghai
"747061.6379"
127.0.0.1:6379> geodist china:city shanghai hangzhou km
"485.5319"
127.0.0.1:6379> georadius china:city 110 30 1000 km
1) "shenzhen"
2) "hangzhou"
georadius
#我附近的人 经度110 纬度30 距离1000 withcoord坐标 withdist距离 count限制多少个
127.0.0.1:6379> georadius china:city 110 30 1000 km withcoord
1) 1) "shenzhen"
2) 1) "114.06000226736068726"
2) "22.61000043215502586"
2) 1) "hangzhou"
2) 1) "120.20000249147415161"
2) "30.25999927289620928"
127.0.0.1:6379> georadius china:city 110 30 1000 km withdist withcoord
1) 1) "shenzhen"
2) "916.0193"
3) 1) "114.06000226736068726"
2) "22.61000043215502586"
2) 1) "hangzhou"
2) "981.3209"
3) 1) "120.20000249147415161"
2) "30.25999927289620928"
127.0.0.1:6379> georadius china:city 110 30 1000 km withdist withcoord count 1
1) 1) "shenzhen"
2) "916.0193"
3) 1) "114.06000226736068726"
2) "22.61000043215502586"
geohash
#hash字符串
127.0.0.1:6379> geohash china:city beijing shanghai
1) "wx4fbzx4me0"
2) "wwnk70w9h40"
zrange zrem
#GEO底层是Zset
127.0.0.1:6379> zrange china:city 0 -1
1) "shenzhen"
2) "hangzhou"
3) "shanghai"
4) "beijing"
127.0.0.1:6379> zrem china:city shanghai
(integer) 1
127.0.0.1:6379> zrange china:city 0 -1
1) "shenzhen"
2) "hangzhou"
3) "beijing"
十、Hyperloglog
基数统计
0.81错误率 统计UV工作。
PFadd PFCOUNT PFMERGE
127.0.0.1:6379> PFadd mykey a b c d e f g h i j k #创建第一组元素
(integer) 1
127.0.0.1:6379> PFCOUNT mykey #统计第一组元素数量
(integer) 11
127.0.0.1:6379> PFadd mykey2 h i j e a l o m c p #创建第二组元素
(integer) 1
127.0.0.1:6379> PFCOUNT mykey2 #统计第二组元素数量
(integer) 10
127.0.0.1:6379> PFMERGE mykey3 mykey mykey2 #合并两组元素
OK
127.0.0.1:6379> PFCOUNT mykey3 #统计第三组元素数量
(integer) 15
十一、Bitmaps
位存储
1 0
统计用户信息,活跃,不活跃。登录,不登录。
setbit 记录周一到周日的打卡情况
127.0.0.1:6379> setbit mybit 0 1
(integer) 0
127.0.0.1:6379> setbit mybit 1 0
(integer) 0
127.0.0.1:6379> setbit mybit 2 1
(integer) 0
127.0.0.1:6379> setbit mybit 3 1
(integer) 0
127.0.0.1:6379> setbit mybit 4 0
(integer) 0
127.0.0.1:6379> setbit mybit 5 1
(integer) 0
127.0.0.1:6379> setbit mybit 6 0
(integer) 0
getbit 获取
127.0.0.1:6379> getbit mybit 5
(integer) 1
127.0.0.1:6379> getbit mybit 2
(integer) 1
127.0.0.1:6379> getbit mybit 0
(integer) 1
127.0.0.1:6379> getbit mybit 1
(integer) 0
bitcount 打卡天数
127.0.0.1:6379> bitcount mybit
(integer) 4