Python redis基础

本文详细介绍Python操作Redis的方法,涵盖字符串、列表、哈希、集合等数据类型的基本操作,如设置、获取、更新、删除等,并演示了如何利用连接池提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前置

import redis

#防止中文乱码
r1=redis.Redis(host=" 192.168.22.123",port=6379,decode_responses=True,charset='utf-8',encoding='utf-8',password="")

#连接池,管理所有链接,避免每次建立、释放链接带来的开销
pool=redis.ConnectionPool(host=" 192.168.22.123",port=6379)
r2=redis.Redis(connection_pool=pool)

字符串

import redis

#防止中文乱码
r=redis.Redis(host=" 192.168.22.123",port=6379,decode_responses=True,charset='utf-8',encoding='utf-8',password="")
r.set('name1','zhangsan')  #添加
r.set('name1','lisi')  #修改

r.setex('name1','5','lisi')  #过期时间5秒
print(r.get("name1"))

r.mset('name1':'lisi','name2':'zhangsan')  #批量设置
#print(r.mget("name1","name2"))
v_list=["name1","name2"]
print(r.mget(v_list))

print(r.getrange("name1",0,2))  #输出vlue的前三位  lis

r.append("name1","age8")  #追加

print(r.strlen("name1"))#输出字节长度,一个汉字三个字节,一个字母一个字节

列表

r.lpush("key1",1)
r.rpush("key1",2,3,4,5,6)  #存储

r.len("key1")#4

r.linsert("key1","BEFORE","2","wangwu")
#在key1列表中找到第二个值前面插入wangwu     1,wanwu,2,3,4,5,6

r.lset("key1","3","wangwu")
#在key1列表中找到第二个值替换成zahsngan    1,wangwu,zahnsgsan,2,3,4,5,6

print(r.lpop("key1"))
#移除列表左侧第一个元素,返回值则是第一个元素   wangwu

print(r.lpop("key1",2))
#根据索引取列表内元素,返回第三个元素    2

print(r.lrange("key1",0,-1))
#取出列表中所有元素    wangwu,zahnsgsan,2,3,4,5,6

r.ltrim("key1",0,2)
#移除列表内没有在该索引值内的值    wangwu,zahnsgsan,2

哈希


r.hset("key1","a1","zhasngsan")
print(r.hget("key1","a1")  #输出zhangsan

print(r.hgetall("key1",) #取出key1所有值["key1","a1":"zhansgan"]

dic=["a1":"zhansgan","a2":"lisi"]
r.haset(("key2",dic)
print(r.hget("key2","a2")   #输出lisi

print(r.hmget("key2","a1","a2")  #获取多个值["zhansgan","lisi"]

print(r.len("key2"))  #2

print(r.hkeys("key2"))  #获取所有键["a1":"a2"]

print(r.hvals("key2"))  #获取所有值["zhangsan","lisi"]

print(r.hexists("key1","a3"))  #FALSE

r.del("key2","a1")#删除指定键值

集合

sadd("key1","a1")  #添a1
sadd("key1","a1","a1","a1") #不允许值重复
print(r.smembers("key1")) # 输出["a1"]
print(r.scard("key1"))  #输出1

r.sdiff("key1","key2","key3")#在key1中不再key2和key3中的值

r.sdiffstore("key4","key1","key2","key3")#在key1中不再key2和key3中的值放在新集合里命名为key4

r.sinter("key1","key2","key3")#获取多个key对应集合的并集

r.sinterstore("key4","key1","key2","key3")#获取多个key对应集合的并集的值放到新的集合里命名为key4

r.sismemebr("key1","a1")  #True

r.smove("key1","key2","a1') #将key1中的a1移动到key2中

r.sadd("key1","a2","a3","a4")
r.spop("key1")   #将key1中的最右侧的值移除并将其返回  ["a4"]
r.smembers("key1")    #["a1","a2","a3"]

通用

delete
exists
keys
expire
rename
move
randomkey
type

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值