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

- 当count>0时, LREM会从列表左边开始删除。
- 当count<0时, LREM会从列表后边开始删除。
- 当count=0时, LREM删除所有值为value的元素。

  

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

设置过期时间为毫秒

原文地址:https://www.cnblogs.com/zumengjie/p/12527008.html