python操作Redis⽅法速记
redis有5种数据结构,分别如下:
5种数据结构
python语⾔对5种数据结构的增删改查
redis 连接全局函数
import redis pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)r = redis.Redis(connection_pool=pool)
redis 取出的结果默认是字节,可以设定 改成字符串redis python 操作
⼀、字符串
创建
1.设置单个键值对
set(name, value, ex=None, px=None, nx=False, xx=False)
ex :过期时间(秒),时间到了后redis 会⾃动删除
px :过期时间(毫秒),时间到了后redis 会⾃动删除。ex 、px ⼆选⼀即可nx :如果设置为True ,则只有name 不存在时,当前set 操作才执⾏
xx :如果设置为True ,则只有name 存在时,当前set 操作才执⾏
2.设置多个值
value_dict = {'num': 123, 'str': 456}
mset(value_dict)
3.不存在键更新value ,存在则不变
setnx(name, value)
4.设置value ,并添加有效期
setex(name, time, value)
r.setex('name', 1, 'James') 设置name=James ,并且有效期为1s
修改
1.value 后⾯追加
append(key, value)
查询
1.获取单个值,返回字符串
get(key)
2.获取多个值,返回列表
mget(['num', 'str'])
3.给已有的键设置新值,并返回原有的值。返回字符串
getset(name, value)
当所给的键不存在时,会设置新值,但返回值是None
4.获取value 的长度,返回整型
strlen(key)
5.获取value 从start 到end 的⼦字符串,返回字符串
getrange(key, start, end)
⼆、列表
redis 中,⼀个键对应⼀个列表
增加:
1.在列表右边添加值。key 不存在时创建⼀个新列表,返回列表的长度
redis.rpush(key, 1,2,3,4)
可以添加单个,可以添加多个。当有多个值时,将值依次添加到最右边arr = [5,4,3,2,1]
r.rpush(key, *arr)
2.在列表左边添加,key 不存在时创建⼀个新列表,返回列表的长度
r.lpush(key, 1,2,3,4)
当有多个值时,将值依次添加到最左边。
redis五种数据结构3.在列表中间插⼊新值
linsert(name, where, refvalue, value)
name :键名
where :位置,前⾯(BEFORE )或后⾯(AFTER )
refvalue :指定哪个值的前后插⼊
value :插⼊的新值
返回值:插⼊后列表的长度,若返回-1,则refvalue 不存在
r.linsert(key, 'after', 6, 'new_value')
4.key 存在时插⼊。lpushx 添加到左边,rpushx 添加到右边。返回列表长度lpushx(key, value) 添加到左边
r = redis.Redis(connection_pool=pool)
decode_responses=True
rpushx(key, value) 添加到右边
只有键存在时,才添加。若键不存在则不添加,也不新创建列表修改
1.列表中通过索引赋值,返回True或False
lset(key, index, value)
删除
1.删除左边第⼀个值,返回删除的值
lpop(name)
2.删除右边第⼀个值,返回删除的值
rpop(name)
3.删除列表中范围之外的所有值,返回删除的值
ltrim(key, start, end)
4.删除列表中N的相同的值,返回删除的数量
lrem(name, num, value)
name:键名
value:需删除的值
num:删除的个数整数表⽰从左往右负数表⽰从右往左例如:2 -2返回值:返回删除的个数
r.lrem('arr', 10, 'delete_name')
5.删除并返回列表中⾸个元素,列表为空则⼀直阻塞
blpop(key, timeout=n)
6.删除并返回列表中尾元素,如果列表为空则⼀直阻塞
brpop(key, timeout=n)
查询
1.列表中获取⼀段数据,返回列表
lrange(name, start, end)
2.通过索引获取列表值,返回单个元素
lindex(key, index)
3.获取键对应列表的长度,返回数值
llen(key)
三、字典
⼀个name对应⼀个字典,类似于字典名字。字典中是key->value 增加
1.单个添加,返回添加的数量
hset(name, key, value)
key存在则修改,否则就是添加
2.批量添加,返回True或False
mapping = {'age':10, 'tel':123}
redis.hmset(name, mapping)
3.如果键不存在添加,否则不处理。返回创建字典长度
hsetnx(name, key, value)
删除
删除键值对,返回删除的个数
hdel(name, key)
可删除多个
hdel(name, *keys)
修改
hset(name, key, value)
key存在则修改,否则就是添加
查询
获取所有键值对,返回⼀个字典
hgetall(name)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论