redis有5种数据结构
redis有5种数据结构,分别如下:5种数据结构
python语言对5种数据结构的增删改查
1|0redis 连接
redis 取出的结果默认是字节,可以设定 decode_responses=True
改成字符串
redis python操作
2|0一、字符串
2|1创建
1.设置单个键值对
2.设置多个值
3.不存在键更新value,存在则不变
4.设置value,并添加有效期
2|2修改
1.value后面追加
2|3查询
1.获取单个值,返回字符串
2.获取多个值,返回列表
3.给已有的键设置新值,并返回原有的值。返回字符串
当所给的键不存在时,会设置新值,但返回值是None
4.获取value的长度,返回整型 ↓
5.获取value从start到end的子字符串,返回字符串 ↓
3|0二、列表
redis中,一个键对应一个列表
3|1增加:
1.在列表右边添加值。key不存在时创建一个新列表,返回列表的长度
可以添加单个,可以添加多个。当有多个值时,将值依次添加到最右边
2.在列表左边添加,key不存在时创建一个新列表,返回列表的长度
当有多个值时,将值依次添加到最左边。
3.在列表中间插入新值
name:键名
where:位置,前面(BEFORE)或后面(AFTER)
refvalue:指定哪个值的前后插入
value:插入的新值
返回值:插入后列表的长度,若返回-1,则refvalue不存在
4.key存在时插入。lpushx添加到左边,rpushx添加到右边。返回列表长度 ↓
只有键存在时,才添加。若键不存在则不添加,也不新创建列表
3|2修改
1.列表中通过索引赋值,返回True或False
3|3删除
1.删除左边第一个值,返回删除的值
2.删除右边第一个值,返回删除的值
3.删除列表中范围之外的所有值,返回删除的值
4.删除列表中N的相同的值,返回删除的数量 ↓
name:键名
value:需删除的值
num:删除的个数 整数表示从左往右 负数表示从右往左 例如:2 -2
返回值:返回删除的个数
5.删除并返回列表中首个元素,列表为空则一直阻塞 ↓
6.删除并返回列表中尾元素,如果列表为空则一直阻塞 ↓
3|4查询
1.列表中获取一段数据,返回列表
2.通过索引获取列表值,返回单个元素
3.获取键对应列表的长度,返回数值
4|0三、字典
一个name对应一个字典,类似于字典名字。字典中是key->value
4|1增加
1.单个添加,返回添加的数量
key存在则修改,否则就是添加
2.批量添加,返回True或False
3.如果键不存在添加,否则不处理。返回创建字典长度
4|2删除
删除键值对,返回删除的个数
4|3修改
key存在则修改,否则就是添加
4|4查询
获取所有键值对,返回一个字典
获取所有的key,返回列表
获取所有value,返回列表 ↓
获取指定key的值,返回元素 ↓
获取多个键值对,返回列表 ↓
获取键值对个数,返回数字 ↓
查询哈希中是否有某个key,返回True或False ↓
5|0四、集合
集合中的元素不重复,一般用于过滤元素
5|1增,返回添加的数量
没有key则创建集合并添加所有元素;有key则直接添加到结合中
也可以使用包裹方式一次性传入
5|2删,返回删除元素的个数
1.删除集合中一个或多个元素
2.随机删除并返回集合中元素,返回元素
3.将一个集合移动到另一个集合
5|3查
1.返回集合中所有元素,返回集合
2.返回集合中元素的个数,返回个数
3.随机获取n个元素,返回列表
name:键名
number:一个或N个,默认返回一个。若返回N个,则返回List类型
返回值:返回一个值或一个列表
4.判断某个值是否在集合中,返回True或False ↓
5.差集,返回集合 ↓
6.交集,返回集合 ↓
7.并集,返回集合 ↓
6|0五、有序集合
有序集合比集合多了一个分数的字段,可对分数升序降序
6|1增,返回增加元素个数
6|2删,返回删除元素的个数
1.删除有序集合中某个或多个值
返回删除的个数
2.根据分数范围删除有序集合,返回删除元素的个数
3.根据排名范围删除集合
6|3改
增加有序集合中某个值的分数
value:若存在,则增加其amount分数;若不存在,则增加新值以及对应的分数
amount:增加的值,可以为负数
返回值:增加后的分数 float类型 ;形如: -5.0 <class 'float'>
6|4查
1.返回有序集合中元素个数,返回数字
2.返回有序集合中分数范围内的元素个数,返回数字
3.返回有序集合中指定某个值的分数,返回数字
4.返回某个值在有序集合中的分数排名,返回数字 ↓
5.返回有序结合分数排序后的一段数据,返回列表 ↓
name:redis的name
start:有序集合索引起始位置(非分数)
end:有序集合索引结束位置(非分数)
desc:排序规则,默认按照分数从小到大排序
withscores:是否获取元素的分数,默认只获取元素的值
score_cast_func:对分数进行数据转换的函数
7|0六、全局函数
全局函数对任何数据结构都适用
1.删除一个或多个键的所有数据
2.判断redis中是否存在某个键
3.重命名redis中建名
4.移动某个键所有数据到某一个db中
5.随机获取redis中某个键名 ↓
6.查看某个键数据结构类型 ↓
返回值:字符串(字节形式) 形如: b'hash'
none (key不存在)
string (字符串)
list (列表)
set (集合)
zset (有序集)
hash (哈希表)
7.设置过期时间 ↓
8.获取键的过期时间 ↓
9.获取所有符合规则的键 ↓