redis里最常用的命令了 set {{key}} {{val}} | get {{key}}
注意一些小问题:
set 已存在的键、会将原值覆盖、若不想被覆盖、可以使用setnx
mset & mget 可以一次获取或者设置多个值
eg. mset key val [key2 val2 ...]
mget key1 key2 ...
使用mset 和 mget可以一次执行多个命令、节省网络开销
在redis的内部、使用 int、embstr 和 raw 三种方式来存储字符串对象
eg. 可以使用64位有符号整数表示的字符串会是int编码
长度<=44字节的字符串会是embstr编码
然后、就是raw的编码了
测测看:
127.0.0.1:63790> set key1 12345
OK
127.0.0.1:63790> object encoding key1
"int"
127.0.0.1:63790> set key1 'a'
OK
127.0.0.1:63790> object encoding key1
"embstr"
127.0.0.1:63790> set key3 'I am a long string, not trust, you see~ and my encoding is raw.'
OK
127.0.0.1:63790> object encoding key3
"raw"
geoadd 添加坐标点
geopos 获取坐标点
georadius 查找指定范围内的成员
geodist 获取两个坐标点之间的距离
georadiusbymember 类似georaudius、是由坐标点的成员决定、不是经纬度
eg.
127.0.0.1:63790> geoadd a 20.233 22.233 "x" 20.234 22.234 "y" 20.235 22.235 "z"
(integer) 3
127.0.0.1:63790> georadius a 20.23 22.23 500 m
1) "x"
127.0.0.1:63790> georadiusbymember a x 100 m
1) "x"
可以使用withdist来得到距离
127.0.0.1:63790> georadiusbymember a x 100 m withdist
1) 1) "x"
2) "0.0000"
geo的实现其实是利用zset、所以它可以支持zset的所有命令