Redis中常用的命令
今天整理了一下一些基础且高频的redis命令
redis中的通用命令
- keys * 查看符合模版的所有的key
- del 删除一个指定的key
- exists 判断key是否存在
- expire 给一个key设置有效期,有效期到期时,这个key就会被删除掉
- ttl 查看一个key的剩余有效期
1.string类型
- set 添加或者修改已经存在的一个String类型的键值对
- get 根据key获取String类型的value
- mset 批量添加多个String类型的键值对
- mget 批量获取多个String类型的value
- incr 让一个整型的key自增1
- decr 让一个整型的key自减1
- incrby 让一个整型的key自增并指定要增加的大小
- decrby 让一个整型的key自减并指定要减少的大小
- setnx 添加一个String类型的键值对,前提是这个key不存在,否则不执行
- setex 添加一个String类型的键值对,并且指定有效期 (set + expire组合)
2.hash类型
- hset 添加或者修改一个hash类型的值.
hset key field value
- hget 获取一个hash类型的值.
hget key field
- hmset 批量的添加或者修改hash类型的值.
hmset key field value [field value ...]
- hmget 批量的获取hash类型的值.
hmget key field [field ...]
- hgetall 获取所有的hash类型的key.
hgetall key
- hincrby 让对应的key的值添加或者减少对应的值(正数添加,负数减少).
hincrby key field increment
- hsetnx 添加一个hash类型的值,如果要添加的key的值已经存在,则不执行,如果存在则执行
hsetnx key field value
- hkeys 获取当前hash类型的值的所有的key.
hkeys key
一些注意事项
hmset和hset的用法大体一样,都是用于添加或者修改(批量)hash类型值的,但是返回结果不相同,hset的返回结果是执行影响的行数,而hmset返回结果是ok或者是nil
3.List类型
Redis中的list类型底层是一个双向链表,所以在操作的时候可以从左或者右进行操作
- lpush 从左边添加list类型的值
lpush key value [value ...]
- lpop 从左边删除list类型的值
lpop key
- rpush 从右边添加list类型的值
rpush key value [value ...]
- rpop 从右边删除list类型的值
rpop key
- lrange 查询list类型的值,要设置起始位置(start)和结束位置(stop)的索引
lrange key start stop
- blpop和brpop 阻塞式的删除,在使用blpop或者brpop进行删除时,如果list中对应的key有对象时则直接删除,如果没有值并且在规定时间(timeout)内并不会直接结束,而是等待timeout时间过期之后再结束,如果在等待期间有值添加进来会直接进行删除
blpop key [key ...] timeout
4.Set类型
- sadd 向set中添加一个或者对个元素
sadd key member [member ...]
- srem 从set中删除指定的元素
srem key member [member ...]
- scard 查询set中元素的个数
scard key
- smembers 查询set中所有的元素
smembers key
- sismember 判断一个元素是否在set中
sismember key member
- sinter 求多个key中的交集
sinter key [key ...]
- sunion 求多个key的并集
sunion key [key ...]
- sdiff 求前面的key-后面的key剩下的元素
sdiff key [key ...]
5.SortedSet(zSet)类型
- zadd 添加一个或者多个元素到zset中,如果已经存在则更新其score值
zadd key score member
- zrem 删除zset中的一个元素
zrem key member
- zscore 获取zset中指定元素的score值
zscore key member
- zcard 获取zset中元素的个数
zcard key
- zcount 统计score值在给定范围内所有元素的个数
zcount key min max
- zincrby 让zset中指定元素自增,大小为指定的increment值
zincrby key increment member
- zrange 按照score排序之后,获取指定排名范围内的元素
zrange key start stop
- zrangebyscore 按照score排序之后,获取指定score范围内的元素
zrangebyscore key min max
- zrank 获取zset中指定元素的排名
zrank key member
- zdiff、zinter、zunion 求差集、交集、并集
**注意:所有的排名默认都是升序,如果要降序则在命令的Z后面添加REV即可,例如:
- 升序获取sorted set 中的指定元素的排名:zrank key member
- 降序获取sorted set 中的指定元素的排名:zrevrank key memeber
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jsckot的个人博客!