Python调用redis
学习并摘自:https://www.runoob.com/w3cnote/python-redis-intro.html
Python redis 使用介绍
本节介绍 Python 如何操作 redis,前提 redis 服务已经安装
启动 redis
$ ./redis-server

安装 redis 模块
Python 要使用 redis,需要先安装 redis 模块:
sudo pip3 install redis
或
sudo easy_install redis
或
sudo python setup.py install
测试是否安装成功:
import redis r = redis.StrictRedis(host='localhost', port=6379, db=0) r.set('foo', 'bar') print(r.get('foo'))
输出结果>>>'bar'
redis 提供两个类 Redis 和 StrictRedis, StrictRedis 用于实现大部分官方的命令,Redis 是 StrictRedis 的子类,用于向后兼用旧版本。
redis 取出的结果默认是字节,我们可以设定 decode_responses=True 改成字符串。
import redis # 导入redis 模块 r = redis.Redis(host='localhost', port=6379, decode_responses=True) r.set('name', 'runoob') # 设置 name 对应的值 print(r['name']) print(r.get('name')) # 取出键 name 对应的值 print(type(r.get('name'))) # 查看类型
输出结果为:
runoob runoob <class 'str'>
连接池
redis-py 使用 connection pool 来管理对一个 redis server 的所有连接,避免每次建立、释放连接的开销。
默认,每个Redis实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数 Redis,这样就可以实现多个 Redis 实例共享一个连接池。
import redis # 导入redis 模块 pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True) r = redis.Redis(host='localhost', port=6379, decode_responses=True) r.set('name', 'runoob') # 设置 name 对应的值 print(r.get('name')) # 取出键 name 对应的值
redis模块常用操作
1.删除
delete(*names) #根据删除redis中的任意数据类型(string、hash、list、set、有序set) r.delete("gender") # 删除key为gender的键值对
2.检查名字是否存在
exists(name) #检测redis的name是否存在,存在就是True,False 不存在 print(r.exists("zset1"))
3.模糊匹配
keys(pattern='') #根据模型获取redis的name #更多: #KEYS * 匹配数据库中所有 key 。 #KEYS h?llo 匹配 hello , hallo 和 hxllo 等。 #KEYS hllo 匹配 hllo 和 heeeeello 等。 #KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo print(r.keys("foo*"))
4.设置超时时间
expire(name ,time) #为某个redis的某个name设置超时时间 r.lpush("list5", 11, 22) r.expire("list5", time=3) print(r.lrange("list5", 0, -1)) time.sleep(3) print(r.lrange("list5", 0, -1))
总结相当于二次学习和提炼,强化记忆,希望自己坚持下去

浙公网安备 33010602011771号