基础数据类型
- string
最大512M,二进制安全。 - list
可以有序存放sting类型的列表 - sets
与python中的集合类似,不允许重复值。 - hashes
redis哈希是字符串字段与字符串值之间的映射,所以善于表示对象。 - sorted sets
有序集合
基础操作
string
set key value # 存
get key # 取
exists key # 查看是否存在该键
expire key seconds # 设置key的过期秒数
ttl key # 查看key剩余多长时间过期
set key value ex seconds # 存键值并设置过期时间
llen mylist # 查看长度
list
Redis 的list是基于链表实现的,进行头部或者尾部操作的时候时间复杂度为常量。但操作中间数据时时间复杂度会增大。
lpush/rpush mylist a b c d e #从左/右侧插入mylist 值为 a b c d e
lrange mylist 0 -1 # 查看Mylsit从第0个数据到最后一个数据
rpop/lpop mylist # 弹出做左/右侧数据
ltrim mylist 0 2 # 剔除第0位到第2位之外的数据
list blocking
- 如果使用Redis的list作为队列使用,理想的操作是生产者lpush,消费者rpop,但如果出现空列表则消费者会出现取值失败的情况,会造成一定的性能浪费。
基于此需求,Redis实现了阻塞的取值操作,blpop/brpop。 即当没有值时候不进行返回处于阻塞状态,且可以设置阻塞时间。
brpop/blpop tasks 5 # 阻塞时间为5秒
哈希
hmset name key value key value
集合
sadd myset 1 2 3