一、hash类型
hash用于存储对象,对象的结构为属性、值(值的类型为String)
增加、修改
1、设置单个属性:
hset key field value #设置键user的属性name为itheima hset user name itheima
Redis被配置为保存数据库快照,但它目前不能持久化到硬盘。用来修改集合数据的命令不能用。
原因:
-
强制关闭Redis快照导致不能持久化。 解决方案:
-
运行config set stop-writes-on-bgsave-error no 命令后,关闭配置项stop-writes-on-bgsave-error解决该问题。
2、设置多个属性
hmset key field1 value1 field2 value2 #设置键u2的属性name为itcast、属性age为11 hmset u2 name itcast age 11
获取
1、获取指定键所有的属性
hkeys key #获取键u2的所有属性 hkeys u2
2、获取一个属性的值
hget key field #获取键u2属性name的值 hget u2 name
3、获取多个属性的值
hmget key field1 field2 #获取键u2属性name,age的值 hmget u2 name age
4、获取所有属性的值
hvals key #获取键u2所有属性的值 hvals u2
删除
删除整个hash键及值,使用del命令,删除属性,属性对应的值会被一起删除
hdel key field1 field2 #删除键u2的属性age hdel u2 age
二、list类型
列表的元素类型为string,按照插入顺序排序
增加
1、在左侧插入数据
lpush key value1 value2 #从键为a1的列表左侧加入数据a,b,c lpush a1 a b c
2、在右侧插入数据
rpush key value1 value2 #从键为a1的列表右侧加入数据0,1 rpush a1 0 1
3、在指定元素的前或后插入新元素
linsert key before或after 现有元素 新元素 #在键为a1的列表中元素b的前面加入3 linsert a1 before b 3
获取
返回列表⾥指定范围内的元素
- start、stop为元素的下标索引
- 索引从左侧开始,第⼀个元素为0
- 索引可以是负数,表示从尾部开始计数,如-1表示最后⼀个元素
lrange key start stop #获取键为'a1'的列表所有元素 lrange a1 0 -1
设置指定索引位置的元素值
- 索引从左侧开始,第⼀个元素为0
-
索引可以是负数,表示尾部开始计数,如-1表示最后⼀个元素
lset key index value #修改键为'a1'的列表中下标为1的元素值为'z' lset a1 1 z
删除
删除指定元素
- 将列表中前count次出现的值为value的元素移除
- count > 0: 从头往尾移除
- count < 0: 从尾往头移除
- count = 0: 移除所有
lrem key count value #向列表'a2'中加⼊元素'a'、'b'、'a'、'b'、'a'、'b' #lpush a2 a b a b a b #从'a2'列表右侧开始删除2个'b' lrem a2 -2 b #查看列表'a2'的所有元素 lrange a2 0 -1
三、set类型
- ⽆序集合
- 元素为string类型
- 元素具有唯⼀性,不重复
- 说明:对于集合没有修改操作
增加
1、添加元素
sadd key member1 member2
#向键'a3'的集合中添加元素'zhangsan'、'lisi'、'wangwu'
sadd a3 zhangsan lisi wangwu
获取
1、返回所有元素
smembers key #获取键'a3'的集合中所有元素 smembers a3
删除
1、删除指定元素
srem key value #删除键'a3'的集合中元素'wangwu' srem a3 wangwu
四、zset类型
- sorted set,有序集合
- 元素为string类型
- 元素具有唯⼀性,不重复
- 每个元素都会关联⼀个double类型的score,表示权重,通过权重将元素从⼩到⼤排序
- 说明:没有修改操作
增加
1、添加
zadd key score1 member1 score2 member2 #向键'a4'的集合中添加元素'lisi'、'wangwu'、'zhaoliu'、'zhangsan',权重分别为4、5、6、3 zadd a4 4 lisi 5 wangwu 6 zhaoliu 3 zhangsan
获取
- 返回指定范围内的元素
- start、stop为元素的下标索引
- 索引从左侧开始,第⼀个元素为0
-
索引可以是负数,表示从尾部开始计数,如-1表示最后⼀个元素
zrange key start stop #获取键'a4'的集合中所有元素 zrange a4 0 -1
#返回score值在min和max之间的成员 zrangebyscore key min max #获取键'a4'的集合中权限值在5和6之间的成员 zrangebyscore a4 5 6
返回成员member的score值
zscore key member #获取键'a4'的集合中元素'zhangsan'的权重 zscore a4 zhangsan
删除
1、删除指定元素
zrem key member1 member2 #删除集合'a4'中元素'zhangsan' zrem a4 zhangsan
2、删除权重在指定返回的元素
zremrangebyscore key min max #删除集合'a4'中权限在5、6之间的元素 zremrangebyscore a4 5 6