1、安装包
安装Redis的有3种方式GitHub - redis/redis-py: Redis Python Client
- 第一种:进⼊虚拟环境,联⽹安装包redis
pip install redis
- 第二种:进⼊虚拟环境,联⽹安装包redis
easy_install redis
- 第三种:到中⽂官⽹-客户端下载redis包的源码,使⽤源码安装
一步步执行 wget https://github.com/andymccurdy/redis-py/archive/master.zip
unzip master.zip
cd redis-py-master
sudo python setup.py install
2、python调⽤模块
引⼊模块
from redis import StrictRedis
这个模块中提供了StrictRedis对象
,⽤于连接redis服务器,并按照不同类型提供 了不同⽅法,进⾏交互操作
3、StrictRedis对象⽅法
通过init创建对象,指定参数host、port与指定的服务器和端⼝连接,host默认为localhost,port默认为6379,db默认为0
sr = StrictRedis(host='localhost', port=6379, db=0)
简写
sr=StrictRedis()
根据不同的类型,拥有不同的实例⽅法可以调⽤,与前⾯redis命令对应,⽅法需要的参数与命令的参数⼀致。
4、String类型增删改查
- 在桌面上创建redis目录
- 使用pycharm打开 redis目录
- 创建redis_string.py文件
from redis import *
if __name__=="__main__":
# 我们在连接/获取外界资源的时候一定要注意使用try
try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis() # sr = StrictRedis(host='192.168.1.XX', port=6379, db=0) # sr = redis.Redis() 继承关系
except Exception as e:
print(e)
4.1 string-增加
- ⽅法set,添加键、值,如果添加成功则返回True,如果添加失败则返回False
编写代码如下
from redis import *
if __name__=="__main__":
try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis()
#添加键name,值为dgw
result=sr.set('name','dgw')
#输出响应结果,如果添加成功则返回True,否则返回False
print(result)
except Exception as e:
print(e)
运行结果:
4.2 string-获取
- ⽅法get,添加键对应的值,如果键存在则返回对应的值,如果键不存在则返回None
编写代码如下
from redis import *
if __name__=="__main__":
try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis()
#获取键name的值
result = sr.get('name')
#输出键的值,如果键不存在则返回None
print(result)
except Exception as e:
print(e)
运行效果:
4.3 string-修改
- ⽅法set,如果键已经存在则进⾏修改,如果键不存在则进⾏添加
编写代码如下
from redis import *
if __name__=="__main__":
try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis()
#设置键name的值,如果键已经存在则进⾏修改,如果键不存在则进⾏添加
result = sr.set('name','dgw11')
#输出响应结果,如果操作成功则返回True,否则返回False
print(result)
except Exception as e:
print(e)
运行效果:
4.4 string-删除
- ⽅法delete,删除键及对应的值,如果删除成功则返回受影响的键数,否则则返 回0
- 编写代码如下
from redis import *
if __name__=="__main__":
try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis()
#设置键name的值,如果键已经存在则进⾏修改,如果键不存在则进⾏添加
result = sr.delete('name')
#输出响应结果,如果删除成功则返回受影响的键数,否则则返回0
print(result)
except Exception as e:
print(e)
运行效果:
4.5 获取键
- ⽅法keys,根据正则表达式获取键
- 编写代码如下
from redis import *
if __name__=="__main__":
try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis()
#获取所有的键
result=sr.keys()
#输出响应结果,所有的键构成⼀个列表,如果没有键则返回空列表
print(result)
except Exception as e:
print(e)
运行效果:
5、hash类型增删改查
5.1 hmset
示例代码:
from redis import StrictRedis
dic = {
"name": "dgw",
"age": 26,
"date": "2023-06-23"
}
s = StrictRedis.from_url("redis://default:xxx@39.xx.xx.xx:6379/1")
# hmset 设置多个值
s.hmset(name=f"{dic.get('date')}", mapping=dic)
# hmget 查询单个值
ret = s.hmget(name=f"{dic.get('date')}", keys="name")
print(ret)
# hmget 查询多个值
ret = s.hmget(name=f"{dic.get('date')}", keys=["name", "age", "date"])
print(ret)
运行结果:
5.2 hmget
示例代码:
from redis import StrictRedis
dic = {
"name": "dgw",
"age": 26,
"date": "2023-06-23"
}
s = StrictRedis.from_url("redis://default:xxx@39.xx.xx.xx:6379/1")
# hmset 设置多个值
s.hmset(name=f"{dic.get('date')}", mapping=dic)
# hmget 查询单个值
ret = s.hmget(name=f"{dic.get('date')}", keys="name")
print(ret)
# hmget 查询多个值
ret = s.hmget(name=f"{dic.get('date')}", keys=["name", "age", "date"])
print(ret)
运行结果:
5.3 expire
示例代码:
from redis import StrictRedis
dic = {
"name": "dgw",
"age": 26,
"date": "2023-06-23"
}
s = StrictRedis.from_url("redis://default:dgw_xxxx2@39.xxx.58.xx:6379/1")
# hmset 设置多个值
s.hmset(name=f"{dic.get('date')}", mapping=dic)
# 设置ttl
s.expire(name=f"{dic.get('date')}", time=7200)
# hmget 查询单个值
ret = s.hmget(name=f"{dic.get('date')}", keys="name")
print(ret)
# hmget 查询多个值
ret = s.hmget(name=f"{dic.get('date')}", keys=["name", "age", "date"])
print(ret)
运行结果:
6、亲测
示例代码:
from redis import Redis, StrictRedis
# conn = StrictRedis() # 该方法同Redis()
conn = Redis(host='127.0.0.1', port=6379, db=3)
# print(conn)
try:
aa = conn.set('hello', 'world')
print(aa)
bb = conn.get('hello')
print(bb)
except Exception as e:
print(e)
运行结果: