Redis数据结构与过期机制
Redis数据结构
redis是一个C语言开发的高性能的内存型键值对NoSql数据库
5种常见数据类型
字符串String
能表示字符串、整数、浮点数
常见操作
- set key value
- get key
- getset key value
- setnx key value
- append key value 向尾部追加
- strlen key
- incr key
- incrby key increment 增加指定整数
- decr
10.decrby key increment
集合 set
无序唯一元素,个数2^32-1
- sadd key m1 m2
- srem
- smembers
- spop
- srandmember
- scard
- sismember
- sinter
- sdiff
10.sunion
适用于不能重复且不需要顺序结果的数据结构,比如spop随机抽奖
有序集合 sorted set
zset 有序集合,元素本身是无序不重复
zadd
zrem
zcard
zcount
zincrby
zscore
zrank
zrevrank
zrange
zrevrange
可以用于各种排行榜
列表
list可以表述存储有序、可重复元素,最多为2^32-1个元素,为一个双向链表,可作为栈或队列使用
- lpush/rpush key v1 v2
- lpop/rpop key
- lpushx key v1 将值插入到列表头部
- rpushx
- blpop key timeout 空时候阻塞
- brpop
- llen
- lindex key index
- lrange
- lrem key count value
- lset key index vallue
- ltrim
- rpoplpush key1 key2
- brpoplpush
- linsert
Hash哈希
是一个string类型的field和value映射表,提供了字段和字段值映射