Redis五种数据类型
String类型操作
Hash类型操作
List类型操作
set类型操作
zset类型操作
通用命令
String类型操作
最常用的类型,典型的 k v 类型
set key value
设置string类型的数据
get key
根据key获取value
getset key value
取值并设置值 如果没有key则设置一个,如果有则取出值,并且赋值一个新的值。
incr key
递增value,但是value只能是数字。如果key不存在默认值为1
incrby key increment
递增指定的步数
decr key
递减value
decrby key increment
递减步数
setnx key value
如果key不存在,才会添加,否则不添加
append key value
追加根据key追加value如果key不存在则创建
strlen key
根据key获取value的长度
mset key value key value ...
一次设置多个key和value
mget key key key ...
获取多个key
Hash类型操作
hash类型用于存储对象类型,比如存一个person对象,如果一个对象需要频繁的修改某些属性,则可以存hash类型。当然也可以存string,不过需要将string变成json,而每一次修改属性需要将value全部取出。
hset key field value
设置key和单个字段
hget key field
获取key的字段
hmset key field value field value...
同时设置key的多个字段
hmget key field field...
同时获取多个字段值
hgetall key
获取key的所有属性和值
hdel key field field...
删除一个或多个字段
hsetnx key field value
仅当字段不存在才设置字段,但只能设置一个字段
hincrby key field increment
设置自增字段,但只能是数字,并且一次只能设置一个 field
hexists key field
获取字段是否存在
hkeys key
获取key所有的字段
hvals key
获取key的所有字段值
hlen key
获取key的字段数量
List类型操作
list类型key对应的value有多个他们是有序的(添加顺序)并且list类型的元素可以有重复值。
lpush key value value value ...
从左边添加元素,注意,不是追加而是从左边添加
lrange key start stop
获取list中的元素,从指定位置开始,指定位置结束,start下标从0开始stop为-1则表示直到最后一个。
rpush key value value
从集合右边添加元素。
lpop key
从左边移除一个元素,并且返回被移除的元素
rpop key
从右边移除一个元素,并返回被移除的元素
llen key
获取list的元素个数。
lrem key count value
删除指定个数的指定value,例如list中有三个A (lrem list 2 value)则会删除两个A
![](https://img2020.cnblogs.com/blog/1760150/202003/1760150-20200321092326083-1464737990.png)
![](https://img2020.cnblogs.com/blog/1760150/202003/1760150-20200321092929210-957867286.png)
lindex key index
获取指定下标的元素
lset key index value
修改指定下标的值
ltrim key start end
只保留start到end其他的元素删除
linsert key before|after pivot value
寻找指定value然后在此value的after或before添加指定的value
rpoplpush list1 list2
将list1中rpop的元素lpush到list2中。
set类型操作
set类型元素不可重复无序(添加顺序)
sadd key value value ...
添加指定元素
smembers key
获取所有元素
srem key value
删除指定元素
sismember key value
判断元素是否存在
card key
获取元素个数
spop key
随机弹出一个元素,注意弹出是返回并删除。
sdiff key1 key2 ...
取差集,在A中有在B中没有
sinter key1 key2 ...
取交集,在A中有在B中也有
sunion key1 key2
并集,取AB中所有的元素,但不重复
zset类型操作
在set的基础上增加了一个分数
zadd key score value score value...
添加元素
zrange key start stop
获取start stop之间的元素(包含start stop)并且按照分数从小到大排序
zrevrange key start stop
获取start stop之间的元素(包含start stop)并且按照分数从大到小排序
zrank key value
获取元素的排名从小到大
zrevrank key value
获取元素的排名从大到小
zscore key value
获取value的分数
zrem key value value...
移除指定元素若value不存在则不移除
zremrangebyrank key start end
删除指定分数排名范围的元素
zremrangebyscore key staet end
删除指定分数范围的元素
zrangebyscore key min max
获取指定区间分数的值
zcount key min max
获取指定分数范围内的元素个数
zincrby key score value
增加value的分数
zcard key
获取元素个数
通用命令
keys pattern
获取匹配到的key
del key key...
删除指定key
exists key
判断key是否存在
rename keyName keyName
重命名key
type key
获取key类型
expire key seconds
key的过期时间设置,默认单位为秒
先设置一个key,然后设置过期时间
ttl key
查询key的过期时间
persist key
清除过期时间,key不过期
pexpire key milliseconds
设置过期时间为毫秒