Three special data types of Redis

geospatial

底层实现zset(zset的命令它也支持)
###添加
127.0.0.1:6330[9]> geoadd china:city 116.39751 39.908859 beijing
(integer) 1
127.0.0.1:6330[9]> geoadd china:city 121.32066 31.194106 shanghai
(integer) 1
127.0.0.1:6330[9]> geoadd china:city 106.65395 29.720270 chongqing
(integer) 1
127.0.0.1:6330[9]> geoadd china:city 113.973 22.5345760 shenzhen
(integer) 1
###获取
127.0.0.1:6330[9]> geopos china:city beijing
1) 1) "116.39751523733139038"
   2) "39.90885894212281215"
###获取两个元素之间的直线距离
127.0.0.1:6330[9]> geodist china:city beijing shanghai km
"1066.3160"
###获取某个经纬度为中心,半径为1000km的元素(附近的人)
127.0.0.1:6330[9]> georadius china:city 110 30 1000 km
1) "chongqing"
2) "shenzhen"

参数说明:
withcoord :显示经纬度
withdist:显示元素到中心的距离
count:结果中返回几个
127.0.0.1:6330[9]> georadius china:city 110 30 1000 km withdist withcoord count 1
1) 1) "chongqing"
   2) "324.2445"
   3) 1) "106.65395647287368774"
	  2) "29.72027095755353088"

###以某个元素为中心,半径为10000km的元素
127.0.0.1:6330[9]> georadiusbymember china:city beijing 10000 km
1) "chongqing"
2) "shenzhen"
3) "shanghai"
4) "beijing"

###显示元素
127.0.0.1:6330[9]> zrange china:city 0 -1
1) "chongqing"
2) "shenzhen"
3) "shanghai"
4) "beijing"

###删除元素
127.0.0.1:6330[9]> zrem china:city beijing
(integer) 1

application:

1. People nearby
2. Distance

hyperloglog

基数统计,存在误差
根据输入键值,返回基数(键值中数据的不同数,一个范围,不准确),不会保存输入元素

Advantages: The occupied memory is fixed. 2 ^ 64 different elements.

127.0.0.1:6330[9]> PFADD mykey 1 2 3 4 5 6 7 8     #添加
(integer) 1
127.0.0.1:6330[9]> PFADD mykey2 4 5 6 7 8 9 99 78
(integer) 1
127.0.0.1:6330[9]> PFCOUNT mykey     #计算个数
(integer) 8
127.0.0.1:6330[9]> PFMERGE mykey3 mykey mykey2     #合并
OK
127.0.0.1:6330[9]> PFCOUNT mykey3     
(integer) 11

application:

1. Page statistics
2. Tolerance

bitmaps bit storage

####设置值
127.0.0.1:6330[9]> setbit sign 0 1
(integer) 0
127.0.0.1:6330[9]> setbit sign 1 0
(integer) 0
127.0.0.1:6330[9]> setbit sign 2 0
(integer) 0
####获取值
127.0.0.1:6330[9]> getbit sign 2
(integer) 0
####统计有多个1
127.0.0.1:6330[9]> BITCOUNT sign
(integer) 1
Published 193 original articles · Like 13 · Visitors 40,000+

Guess you like

Origin blog.csdn.net/u013919153/article/details/105600920