redis常用命令汇总

0. 高级命令

  1. 开启慢日志
# 命令执行超过5毫秒记录慢日志
CONFIG SET slowlog-log-slower-than 5000
# 只保留最近1000条慢日志
CONFIG SET slowlog-max-len 1000
  1. 查看慢日志
slowlog get 5
  1. 扫描大key
redis-cli -h $host -p $port --bigkeys -i 0.01
  1. 批量删除key
redis-cli -h $host -p 6379 -a 'XXX' -n 0 --scan --pattern "user:*" | xargs -L 1000 redis-cli -h $host  -p 6379 -a 'XXX' -n 0 del
  1. 查看某个key占用内存大小(返回为字节大小)
memory usage key

1. string

# 设置值
set key value
# 当值不存在时才设置,并设置过期时间,
# nx(值不存在时才设置),ex(过期按秒算),px(过期按毫秒算)
set key value nx ex 10
# 获取值
get key
# 设置key的value并加入过期时间
setex key seconds value
# 只有值不在时才设置
setnx key value
# 获取多个key的值
mget key1 key2...
# 返回value的长度
strlen key
# 将key对应的value值自增加1
incr key
# 将key对应的value值减1
decr key
# 将key对应的value值自增加n
incrby key n
# 将key的value值在后面追加字符串str
append key str

2. hash

hash 比较适合存储对象,一个key可对应多个field,一个field对应一个value。

# 为key设置filed和value
hset key field value
# 比如存储对象user {id: "user1", name: "pibigstar", age: 18}
hset user1 name pibigstar
hset user1 age 18
# 批量设置filed
hmset key field1 value1 field2 value2 .....
# 获取某个key下所有的field
hkeys key
# 获取某个key下所有的value
hvals key
# 获取某个key下某个field的value
hget key value
# 获取某个key下所有的field和value
hgetall key
# 只有在filed字段不在时才设置value
hsetnx key field value
# 判断某个key下filed是否存在
hexists key field
# 删除某个key下的filed
hdel key filed

3. list

# 存值,将值设置到队列头部(value1在队列最后面)
lpush key value1 value2....
# 存值,将值设置到队列尾部(value2在队列最后面)
rpush key value1 value2....
# 查看某个key下列表长度
llen key
# 取值,取出队列最头部的值
lpop key
# 取值,取出队列最后面的值
rpop key
# 根据索引下标取值
lindex key index
# 获取指定范围的值
lrange key 0 10
# 取值,如果没用,则会阻塞直到有值或超时
blpop key timeout

4. set

不允许值有重复的,且无序。

# 设置值
sadd key value1 value2...
# 取值,获取某个key集合下所有成员
smembers key
# 获取key集合成员数
scard key
# 获取两个集合下的差集
sdiff key1 key2
# 获取两个集合下的交集
sinter key1 key2
# 判断某值是否存在于该集合种
sismember key value
# 移除集合中某个值
srem key value1 }value2

5. sorted set

有序集合,是根据成员的 score进行排序的,分值越小,越靠前

# 添加值,并设置成员的score
zadd key score1 value1 score2 value2.....
# 获取有序集合成员数
zcard key
# 对集合中某值加n分
zincrby key n value
# 返回指定区间的值
zrange key 0 10
# 返回value的分值
zscore key value
# 移除某集合下一个或多个值
zrem key value1 value2

6. GEO

  1. geoadd: 增加地理位置的坐标。
geoadd location-set longitude latitude name [longitude latitude name ...]
  1. geodist: 获取两个地理位置的距离。
geodist location-set location-x location-y [unit]
  1. geopos: 获取地理位置的坐标。
geopos location-set name [name ...]
  1. georadius: 根据给定经纬度坐标获取指定范围内的地理位置集合。
georadius location-set longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [ASC|DESC] [COUNT count]
  1. geohash: 获取地理位置的GeoHash值。
geohash key member [member …]
  1. georadiusbymember: 根据给定地理位置获取指定范围内的地理位置集合。
georadiusbymember location-set location radius m|km|ft|mi [WITHCOORD] [WITHDIST] [ASC|DESC] [COUNT count]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值