使用python操作redis(管道)

一、redis连接

redis提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py。

redis连接实例是线程安全的,可以直接将redis连接实例设置为一个全局变量,直接使用。如果需要另一个Redis实例(or Redis数据库)时,就需要重新创建redis连接实例来获取一个新的连接。

安装redis

pip install redis

连接redis,加上decode_responses=True,写入的键值对中的value为str类型,不加这个参数写入的则为字节类型。

二、连接池连接

redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。默认,每个Redis实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数Redis,这样就可以实现多个Redis实例共享一个连接池

连接池:redis_pool.py

import redis
from redis_pool import POOl
conn = redis.Redis(connection_pool=POOl)
conn.set(‘name‘, ‘LinWOW‘)
print(conn.get(‘name‘))

三、redis-py 操作redis

python操作redis的命令和命令行几乎一致,除了del,因为和关键字重叠,所以用delete

1、字符串类型操作:

set----键key

con.set(‘key‘,‘values‘)

get---获取数值

con.get(‘com‘)

append --- 追加

con.append(‘keys‘,‘values‘)

delete---删除

con.delete(‘keys‘)

2、List类型:

rpush 、lpush----添加数据

con.rpush(‘keys‘,‘values‘)

con.lpush(‘keys‘,‘values‘)

lrange---查看数据

con.lrange(‘list‘,0,11)

lset---修改数据

con.lset(‘list_F‘,1,‘Fyn‘)---返回布尔值

rpop ---- 随机删除一个数据

con.rpop(‘keys‘)

lrem ---- 指定删除一个数据时

con.lrem(‘list_f‘,0,‘okl‘)

3、Hash类型

hmget --- 添加多条数据,也可插入单条数据

以字典的形式插入

con.hmste(‘keys‘,{‘name‘:‘‘age})#插入结果返回布尔值

hget , hgetall , hvals,hkeys查看数据

con.hget(‘ok‘,‘name‘)

con.hgetall(‘ok‘)#结果返回字典

con.hvals(‘ok‘)#获取所有的键值

con.hkeys(‘ok‘)#获取所有的键

hdel 、 del----删除某个字段,删除整个hash

con.hdel(‘ok‘,age)#指定删除某个字段 ,成功的话返回1,否则返回0

con.del(‘ok‘)#删除整个hash

4、set

sadd---添加数据

con.sadd(‘mk‘,‘oi‘.‘Hwelo‘)

smembers ---- 查看所有数据

con.smembers(‘mk‘)

spop---随机删除一个元素

con.spop(‘con.spop(‘mk‘)‘)

srem--- 指定删除某个元素

con.srem(‘mk‘,‘oi‘)

5、sorted set

zadd---添加数据

con.zadd(‘set_f‘,{‘name‘:1.1,‘age‘:2,‘sex‘:3})

zrange ---- 查询数据

con.zrange(‘set_f‘,0,11)

zrem ---指定删除某个元素

con.zrem(‘set_f‘,‘age‘)

四、redis-py管道操作 piplines

管道是redis的子类,它支持在一个请求中款冲多个命令到服务器

管道使redis的读写速度更加的快速。秒级取值1000+的数据。

并且使用pipline实现一次请求指定多个命令,并且默认情况下一次pipline 是原子性操作。

#1、创建一个管道
pipe = con.pipeline()

#缓冲多个命令
pipe.keys(‘*‘)
pipe.set(‘name‘,‘Mkl‘)

#执行命令
res = pipe.execute()#返回列表
print(res[0])
print(res[1])

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

pipe.set(‘hello‘, ‘redis‘).sadd(‘faz‘, ‘baz‘).incr(‘num‘).execute()
print(r.get("name"))
print(r.get("role"))
print(r.get("num"))

原文地址:https://www.cnblogs.com/zzsy/p/12638752.html

时间: 2024-10-08 13:54:16

使用python操作redis(管道)的相关文章

Python操作Redis、Memcache、RabbitMQ、SQLAlchemy

Python操作 Redis.Memcache.RabbitMQ.SQLAlchemy redis介绍:redis是一个开源的,先进的KEY-VALUE存储,它通常被称为数据结构服务器,因为键可以包含string(字符串).hash(哈希).list(链表).set(集合)和zset(有序集合),这些数据类型都支持push/pop.add/remove及取交集和并集及更丰富的操作,redis支持各种不同方式的排序.为了保证效率,数据都是缓存在内存中,它也可以周期性的把更新的数据写入磁盘或者把修改

python 操作 redis

一.简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的

Python 操作Redis

redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性

使用Python操作Redis详解

之前的五天,过了个愉快的周末,然后将公司AbaseDump的调度部分代码看懂并且在此之上完成了OnlyDump的功能代码,代码不可以公开,今天完工,明天测试,晚上来总结一下这几天学到的一点应用. 使用Python操作Redis详解 ------------------------------------------------------------------------------------------------- 一. 文档说明 本文档仅介绍Redis在Python中的使用,Redis

Python学习之使用Python操作Redis数据库

最近在写一个检查一台服务器上所有游戏区服配置文件中redis某个key值大小的脚本,本打算使用shell+awk+sed的方式去解决这个问题,但是由于redis的配置信息是php数组形式.shell脚本一时没有写出来,就请教他人帮忙写了个python脚本,但是自己python不是很精通,于是按照脚本中涉及到的python知识现学现用,然后根据自己的需求更改脚本.这里分享一下如何使用python操作redis数据库. Redis的Python驱动源码下载地址是https://github.com/

Python—操作redis

Python操作redis 1.String 操作 redis中的String在在内存中按照一个name对应一个value来存储 set() #在Redis中设置值,默认不存在则创建,存在则修改 r.set('name', 'zhangsan') '''参数: set(name, value, ex=None, px=None, nx=False, xx=False) ex,过期时间(秒) px,过期时间(毫秒) nx,如果设置为True,则只有name不存在时,当前set操作才执行,同setn

第二百九十七节,python操作redis缓存-List类型,可以理解为列表

python操作redis缓存-List类型,可以理解为列表 List操作,redis中的List在在内存中按照一个name对应一个List来存储.如图:

Linux 下的python操作redis

Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性

Redis 以及 Python操作Redis

Redis Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis有以下特点: -- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用. -- Redis支持五种数据类型. -- Redis支持数据库备份. Redis的优势: -- Redis性能极高,读的速度是110000次/s,写的速度是81000次/s. -- Redis丰富的数据类型,String,Lists,Hashes,Sets以及Ordered S