Redis 数据操作
键的命令
字符串 string
哈希 hash
列表 list
集合 set
有序集合 zset
Redis 存储是 key-value 数据,所以每个数据都是一个键值对。键的类型是字符串,值则支持以下数据类型:
- String
- Hash
- List
- Set
- SortedSet
- Bitmap
- ······
关于数据操作的全部命令,可以查看中文网站。
键的命令
- 查找键,参数支持正则
KEYS pattern
- 判断键是否存在,如果存在返回 1,不存在返回 0
EXISTS key [key ...]
- 查看键对应的 value 的类型
TYPE key
- 删除键及对应的值
DEL key [key ...]
- 设置过期时间,以秒为单位
- 若创建时没有设置过期时间,则该键值数据一直存在,直到使用使用 DEL 移除
EXPIRE key seconds
- 查看有效时间,以秒为单位
TTL key
字符串 string
- string 是 redis 最基本的类型。
- 最大能存储 512MB 数据。
- string 类型是二进制安全的,即可以为任何数据,比如数字、图片、序列化对象等。
命令
设置
- 设置键值
set key value
- 设置键值及过期时间,以秒为单位
SETEX key seconds value
- 设置多个键值
MSET key value [key value ...]
获取
- 根据键获取值,如果不存在此键则返回 null
GET key
- 根据多个键获取多个值
MGET key [key ...]
运算
要求:值是数字
- 将 key 对应的 value 加 1
INCR key
- 将 key 对应的 value 加整数
INCRBY key increment
- 将 key 对应的 value 减 1
DECR key
- 将 key 对应的 value 减整数
DECRBY key decrement
其它
- 追加值
APPEND key value
- 获取值长度
STRLEN key
哈希 hash
hash 用于存储对象,对象的格式为键值对。
命令
设置
- 设置单个属性
HSET key field value
- 设置多个属性
HMSET key field value [field value ...]
获取
- 获取一个属性的值
HGET key field
- 获取多个属性的值
HMGET key field [field ...]
- 获取所有属性和值
HGETALL key
- 获取所有的属性
HKEYS key
- 返回包含属性的个数
HLEN key
- 获取所有值
HVALS key
其它
- 判断属性是否存在
HEXISTS key field
- 删除属性及值
HDEL key field [field ...]
- 返回值的字符串长度
HSTRLEN key field
列表 list
- 列表的元素类型为 string。
- 按照插入顺序排序。
- 在列表的头部或者尾部添加元素。
命令
设置
- 在头部插入数据
LPUSH key value [value ...]
- 在尾部插入数据
RPUSH key value [value ...]
- 在一个元素的前|后插入新元素
LINSERT key BEFORE|AFTER pivot value
- 设置指定索引的元素值
- 索引是基于0的下标
- 索引可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
LSET key index value
获取
- 移除并且返回 key 对应的 list 的第一个元素
LPOP key
- 移除并返回存于 key 的 list 的最后一个元素
RPOP key
- 返回存储在 key 的列表里指定范围内的元素
- start 和 end 偏移量都是基于0的下标
- 偏移量也可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
LRANGE key start stop
其它
- 裁剪列表,改为原集合的一个子集
- start 和 end 偏移量都是基于0的下标
- 偏移量也可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
LTRIM key start stop
- 返回存储在 key 里的list的长度
LLEN key
- 返回列表里索引对应的元素
LINDEX key index
集合 set
- 无序集合。
- 元素为 string 类型。
- 元素具有唯一性,不重复。
命令
设置
- 添加元素
SADD key member [member ...]
获取
- 返回 key 集合所有的元素
SMEMBERS key
- 返回集合元素个数
SCARD key
其它
- 求多个集合的交集
SINTER key [key ...]
- 求某集合与其它集合的差集
SDIFF key [key ...]
- 求多个集合的合集
SUNION key [key ...]
- 判断元素是否在集合中
SISMEMBER key member
有序集合 zset
- sorted set,有序集合。
- 元素为 string 类型。
- 元素具有唯一性,不重复。
- 每个元素都会关联一个 double 类型的 score,表示权重,通过权重将元素从小到大排序。
- 元素的 score 可以相同。
命令
设置
- 添加
ZADD key score member [score member ...]
获取
- 返回指定范围内的元素
ZRANGE key start stop
- 返回元素个数
ZCARD key
- 返回有序集key中,score值在min和max之间的成员
ZCOUNT key min max
- 返回有序集key中,成员member的score值
ZSCORE key member