Redis数据类型
字符串 String
哈希 Hash
列表 List
集合 Set
有序集合 Zset
String类型
字符串类型是Redis中最基础的数据类型,他在Redis中是二进制安全的,可以接受任何格式的数据,如JEPG图像数据或JSON对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。
(1)保存
如果设置的键不存在则为添加,如果设置的键已经存在则修改。
- 设置键值
set
set key value
- 获取键值
get
get key
- 设置键值及其过期时间,以秒为单位
setex
setex key second value
- 一下设置多个键值
mset
mset key1 value1 key2 value2 key3 value3 .....
- 追加值
append
append key value
(2)获取
根据键获取值,如果不存在此键则返回nil
- 获取 单个键的值
get
get key
- 获取多个键的值
mget
mget key1 key2 key3 ...
(3)键命令
查找键,支持正则表达式
keys pattern
- 查看所有键
keys *
- 查看名称中包含
a的键
keys 'a*'
- 判断数据库中是否存在某个键
exists,如果存在返回1,不存在返回0
exists key
- 查看
key对应的value的类型type
type key
- 删除键级对应的值
del,可以以下删除多个键值
del key1 [key2 key3]
- 设置过期时间
expire
expire key seconds
- 查看有效时间
ttl,如果设置了超时时间,过期后再获取会返回-2,如果对为设置超时时间的键获取有效时间会返回-1
ttl key
HASH类型
hash用于存储对象,对象的结构为属性、值值得类型为string
(1)增加
- 设置单个属性
hset
hset key filed value
- 设置多个属性
hmset
hmset key filed1 value1 filed2 value2 ...
查看user类型
(2)获取
- 获取指定键所有的属性
hkeys
hkeys key
- 获取一个属性的值
hget
hget key field
- 获取多个属性的值
hmget
hmget key field1 field2 ...
- 获取所有属性的值
hvals key
(3)删除
- 删除整个hash键及值,使用
del命令
del key
- 删除属性,属性对应的值会被一起删除
hdel key field1 field2
列表
列表的元祖类型为string
按照插入顺序排列
(1)增加
- 在左侧插入数据
lpush key value1 value2 ...
- 查看列表元素
lrange,结束位置大于列表长度时只返回所有元素,不会报错, - start、stop为元素的下标索引
- 索引从左侧开始,第一个元素下标为0
- 索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素
-
lrange key 0 -1:获取列表中的所有元素
lrange key start stop
- 右侧插入
rpush
rpush key value1 value2 ...
- 在指定元素的前面或后面插入新元素
linsert
linsert key before或after 现有元素 新元素
在列表num中的元素3之前加入一个新元素H
- 设置指定索引位置的元素值
lset
lset key index value
将列表num下标为0的元素值改为4
(2)删除
- 删除指定元素
- 将列表中前count次出现的值为value的元素移除(移除个数)
- count > 0:从头往尾移除
- count < 0:从尾往头移除
- count = 0:移除所有出现的元素
lrem key count value
将列表 num 从前往后删除两个值为a的元素
将列表 num 从后往前删除一个值为c的元素
将列表 num 删除所有值为4的元素
集合
无序集合
元素为string
元素具有唯一性且不可变
说明:对于集合没有修改操作
(1)增加
- 添加元素
sadd
sadd key member1 member2 ...
向键为info的集合中添加元素'zhangsan'、'lisi'、'wangwu'
(2)获取
- 返回所有的元素
smembers
smembers key
(3)删除
- 删除指定元素
srem
srem key 元素
有序集合
sorted set:有序集合
元素为string类型
元素具有唯一性,不重复
每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序
说明:没有修改操作
(1)增加
- 添加
zadd key score1 member1 score2 member2
向键为info的集合中添加元素'lisi'、'wangwu'、'zhaoliu'、'zhangsan',权重分别为4、5、6、3
(2)获取
- 返回指定范围内的元素
- start、stop为元素的下标
- 索引从左侧开始,第一个元素下标为0
- 索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素
zrange key start stop
-
获取键为info的集合中所有元素
-
获取score值在min和max之间的成员(包括min和max)
zrangebyscore -
返回成员memberde的score值
zscore
(3)删除
- 删除指定元素
zrem
zrem key member1 member2 ...
- 删除权重在指定范围内的元素
zremrangebyscore key min max