通用操作
rename name xm 把键name重设为xm
select 选择数据库(线上慎用)
keys * 所有键(线上慎用)
keys n* 获取n开头所有键
randomkey 随机返回一个键
exists name 判断name是否存在 返回值01
type name 获取值得数据类型
expire name 10设置name键十秒有效期
ttl name 获取name有效期s单位, 过期/不存在返回-2(注意redis版本)
persist name 设置键永不过期
string
set name ok ex 10 支持毫秒有效期
set name ok xx存在改变
set name ok nx不存在改变
mset name ok age 23一次设置多个值
megt name ok age一次获取多个键
setrange name 0 k设置为kk
getrange同理
append name ok设置为okok
incr age年龄+1
decr age年龄-1
str char A 最重要的东西
list
l/rpush names ok 链表追加一个,同侧先进后出原则
lrange names 0 -1获取链表所有值
lpop names
lrem names ok 删除ok
lrem names -1 a后面开始删
llen names 链表长度
set 唯一,确定,无序
sadd names ok ,name, haha
smembers names 查看names中的数据
srandmember names 随机取一个
spop names 随机删除一个元素
scard names 获取集合元素个数
sismember names ok 判断是否ok是否存在names,返回值01
sinter names1 names2交集
sunion names1 names2并集
sdiff names1 names2差集
zset
zadd class 17 ok 18 oc 19 ov 添加元素
zcard class 获取元素个数
zrank class ok 获取升序排名
zrevrank 获取降序排名
zrange class 0 -1 查看所有排名
zrange class 0 -1 withscores 查看所有排名并带分数
hash
hset book name ok 设置book的name字段为ok
hset book auth xie 同上
hget book name 获取book中的name值
hmget name auth 同时获取book中的name和auth
hmset 同理
hkeys book获取book中所有键
hlen book获取book的长度
hdel book name删除book中的name
hgetall book获取book中的所有键的值
其他操作
flushall清空所有 flushdb清空当前
scan 0 match k* 一次获取10个k开头的键名,并返回下一个偏移量
multi 开启批量命令
set name ok
set name 哈哈
exec执行
discard回滚
watch name 监控name之后执行事物,当name发生改变,则事物失败
multi
地理位置操作(3.2之后特性)
GEOADD Guangdong-cities 113.2099647 23.593675 Qingyuan
成功添加一个位置
GEOADD Guangdong-cities 113.2278442 23.1255978 Guangzhou 113.106308 23.0088312 Foshan 113.7943267 22.9761989 Dongguan 114.0538788 22.5551603 Shenzhen
成功添加四个位置
GEOPOS Guangdong-cities Qingyuan Guangzhou Foshan
1) 1)”113.20996731519699″ — 清远的经度
2)”23.593675019671288″ — 清远的纬度
2) 1)”113.22784155607224″ — 广州的经度
2)”23.125598202060807″ — 广州的纬度
3) 1)”113.10631066560745″ — 佛山的经度
2)”23.008831202413539″ — 佛山的纬度
计算两个位置之间的距离
在调用这个命令时, 用户需要给定想要计算差距的地点 location-x 和 location-y , 以及储存这两个地点的地理位置集合。
可选参数 unit 用于指定计算距离时的单位, 它的值可以是以下单位的其中一个:
m 表示单位为米。
km 表示单位为千米。
mi 表示单位为英里。
ft 表示单位为英尺。
如果用户没有指定 unit 参数, 那么 GEODIST 默认使用米为单位。
GEODIST Guangdong-cities Qingyuan Guangzhou
“52094.433840356309” — 两地相聚 52094 米
我们可以使用 GEORADIUSBYMEMBER 去找出位于广州 50 公里、 100 公里以及 150 公里以内的城市:
redis> GEORADIUSBYMEMBER Guangdong-cities Guangzhou 50 km
1)”Foshan”
2)”Guangzhou”
redis> GEORADIUSBYMEMBER Guangdong-cities Guangzhou 100 km
1)”Foshan”
2)”Guangzhou”
3)”Dongguan”
4)”Qingyuan”
redis> GEORADIUSBYMEMBER Guangdong-cities Guangzhou 150 km
1)”Foshan”
2)”Guangzhou”
3)”Dongguan”
4)”Qingyuan”
5)”Shenzhen”
1、geoadd:增加某个地理位置的坐标。
2、geopos:获取某个地理位置的坐标。
3、geodist:获取两个地理位置的距离。
4、georadius:根据给定地理位置坐标获取指定范围内的地理位置集合。
5、georadiusbymember:根据给定地理位置获取指定范围内的地理位置集合。(区别在于参数, 前者传坐标,后者传地理位置名)
6、geohash:获取某个地理位置的geohash值。