redis -- python操作连接redis

本文介绍了如何安装Redis及PyRedis,并通过示例演示了基本的操作,包括设置键值、获取键值、删除键等。此外,还介绍了如何使用管道来提高Redis的操作效率。

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

1.先安装 redis,pyredis

sudo pip install redis  

sudo pip install python-redis


2.示例:

import redis
>>> r = redis.Redis(host='localhost',port=6379,db=0)
>>> r.set('guo','shuai')
True
>>> r.get('guo')
'shuai'
>>> r['guo']            
'shuai'
>>> r.keys()
['guo']
>>> r.dbsize()         #当前数据库包含多少条数据      
1L
>>> r.delete('guo')
1
>>> r.save()               #执行“检查点”操作,将数据写回磁盘。保存时阻塞
True
>>> r.get('guo');
>>> r.flushdb()        #清空r中的所有数据
True


3.管道:

server和client之间是利用socket发送tcp报文进行通信的,利用pipeline的方式从client打包多条命令一起发出,不需要等待单条命令的响应返回,而redis服务端会处理完多条命令后会将多条命令的处理结果打包到一起返回给客户端。这样就能节省浪费在网络延迟上的时间, pipeline方式打包命令发送,redis必须在处理完所有命令前先缓存起所有命令的处理结果。打包的命令越多,缓存消耗内存也越多。所以并是不是打包的命令越多越好。

p = r.pipeline()        --创建一个管道
>>> p.set('hello','redis')
>>> p.sadd('faz','baz')
>>> p.incr('num')
>>> p.execute()
[True, 1, 1]
>>> r.get('hello')

管道的命令可以写在一起,如:

默认的情况下,管道里执行的命令可以保证执行的原子性,执行pipe = r.pipeline(transaction=False)可以禁用这一特性。


附:Sentinel是一个管理多个redis实例的工具,它可以实现对redis的监控、通知、自动故障转移。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值