02 Redis 数据类型
作者:互联网
Redis 数据类型
String 类型
字符串类型是Redis中最为基础的数据存储类型,它再Redis中是二进制安全的,这便意味着该类型可以接收任何格式的数据,如JPEG图像数据或Json对象描述信息等。
在Redis中字符串类型的Value最多可以容纳的数据长度是512M。
保存
如果设置的键不存在则为添加,如果设置的键已经存在则修改。
1、设置键值
set key value
- 例1:设置键为name,值为itcast的数据
set name itcast
2、设置键值以及过期时间,以秒为单位
setex key seconds value
- 例2:设置键为aa,值为aa,过期时间为3秒的数据
setex aa 3 aa
3、设置多个键值
mset key1 value1 key2 value2 ...
- 列3:设置键为a1,值为python、键为a2,值为java、键为a3,值为c
mset a1 python a2 java a3 c
4、追加值
append key value
- 例4:向键为a1中追加值haha
获取
获取:根据据键获取值,如果不存在此键则返回nil
get key
- 例5:获取键name的值
get 'name'
根据多个键获取多个值
mget key1 key2 key3...
- 例6:获取键a1、a2、a3
mget a1 a2 a3
删除
查看键命令
键命令
1、查找键,参数支持正则
keys pattern
- 例1: 查看所有键
keys *
- 例2:查看名称中包含a的键
keys 'a*'
2、判断键是否存在,存在返回1,不存在返回0
exists key1
- 例3:判断键a1是否存在
exists a1
3、查看键对应的value的类型
type key
- 例4: 查看键a1的值类型,为redis支持的五种类型中的一种
吧
4、删除键及对应的值
del key1 key2 ...
- 例5:删除键a2、a3
del a2 a3
5、 设置过期时间,以秒为单位
- 如果没有指定过期时间则一直存在,指导使用DEL移除
expire key seconds
- 例6: 设置键a1的过期时间为30秒
expire 'a1' 30
6、查看有效时间,以秒为单位
ttl key
- 例7:查看键'a3'的有效时间
ttl a3
hash类型
- hash用于存储对象,对象的结构为属性、值
- 值的类型为string
增加、修改
1、设置单个属性
hset key field value
- 例1:设置键hash的属性name为01
2、设置多个属性
hmset key field 1 value1 field2 value2 ...
- 例2:设置u2的属性name为itcast、属性age为11
hmset u2 name itcast age 11
获取
1、获取指定键所有的属性
hkeys key
- 例3:获取键u2的所有属性
hkeys u2
2、获取一个属性的值
hget key field
- 获取u2的name属性
hget u2 name
3、获取多个属性的值
hmget key field1 field2 ...
- 例5: 获取键u2属性name、age的值
hmget u2 name ago
4、获取所有属性的值
hvals key
- 例6: 获取u2所有属性值
删除
1、删除整个hash键及值,使用del命令
del key
2、删除属性, 属性对应的值会被一起删除
hdel key field1 field2 ...
- 例7:删除键u2的属性age
hdel u2 age
list类型
- 列表的元素类型为string
- 按照插入顺序排序
增加
1、在左侧插入数据
lpush key value1 value2 ...
- 例1:从键为a1的列表左侧加入数据a、b、c
lpush a1 a b c
2、在右侧插入数据
rpush key value1 value2 ...
- 例2:从键为a1的列表右侧加入数据 0 1
rpush a1 0 1
3、在指定元素的前后插入新数据
insert key before|after 现有数据 新元素
- 例3:在键为a1的列表中元素b前加入3
insert before b 3
获取
1、返回列表里指定范围内的元素
- start、stop为元素的下标索引
- 索引从左侧开始,第一个元素为0
- 索引可以是负数,表示从尾部开始计数,如-1表示最后一个数
lrange key start stop
- 例4: 获取键为a1的列表的所有元素
lrange a1 0 -1
2、设置指定索引位置的元素值
- 索引从左侧开始,第一个元素为0
- 索引可以是负数,表示尾部开始计数,如-1表示最后一个元素
lset key index value
- 例5: 修改键为a1的列表中下表为1的元素值为R
lset a1 1 R
删除
1、删除指定元素
- 将列表中前count次出现的值value的元素移除
- count > 0: 从头往尾移除
- count < 0: 从尾往头移除
- count = 0: 移除所有
lrem key count value
- 例6.1:向列表a2中加入元素'a'、'b'、'a'、'b'、'a'、'b'
lpush a2 a b a b a b
- 例6.2:从a2列表右侧开始删除两个b
lrem a2 -2 b
set类型
- 无序集合
- 元素为string类型
- 元素具有唯一性, 不重复
- 说明:对于集合没有修改操作
增加
1、添加元素
sadd key member1 member2 ...
- 例1: 向键a3的集合中添加元素zhangsan、lisi、wangwu
sadd a3 zhangsan lisi wangwu
获取
1、返回所有的元素
smembers key
- 例2: 获取键a3的集合中所有元素
smembers a3
删除
1、删除指定元素
srem key
- 例3: 删除键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
获取
1、返回指定范围内的元素
- start、stop为元素的下标索引
- 索引从左侧开始,第一个元素为0
- 索引可以是负数, 表示从尾部开始计数,如-1表示最后一个元素
zrange key start stop
- 例2: 获取a4集合中所有的元素
zrange a4 0 -1
2、返回score值在min和max之间的成员
zrangebyscore key min max
- 例3:获取键a4的集合中权限值在5和6之间的成员
zrangeby a4 5 6
3、返回成员member的score值
zscore key member
- 例4:获取键a4的集合中元素zhangsan的权重
zscore a4 zhangsan
删除
1、删除指定元素
zrange key member1 member2 ..
- 例5: 删除集合a4中元素zhangsan
zrem a4 zhangsan
2、删除权重在指定范围的元素
zremrangebyscore key min max
- 例6: 删除集合a4中全现5、6之间的元素
zremrangebyscore a4 5 6
标签:02,删除,数据类型,元素,Redis,a1,获取,a3,key 来源: https://www.cnblogs.com/breakdilemma/p/16343670.html