02-其他数据类型

一、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

猜你喜欢

转载自www.cnblogs.com/lishuntao/p/11703354.html