博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python操作redis(二)
阅读量:7081 次
发布时间:2019-06-28

本文共 1057 字,大约阅读时间需要 3 分钟。

连接

redis-py需要一个可以运行的redis服务,

首先安装redis模块

sudo pip3 install redis

在ipython中操作

In [1]: import redisIn [2]: r = redis.StrictRedis(host='localhost', port=6379, db=0, password='123456')In [3]: r.set('name', 'lyon')Out[3]: TrueIn [4]: r.get('name')Out[4]: b'lyon'

连接池

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

In [6]: pool = redis.ConnectionPool(host='localhost', port=6379, db=0, password='123456')In [7]: r = redis.Redis(connection_pool=pool)

管道

redis-py默认在执行每次请求都会创建(连接池申请连接)和断开(归还连接池)一次连接操作,如果想要在一次请求中指定多个命令,则可以使用pipline实现一次请求指定多个命令,并且默认情况下一次pipline 是原子性操作。

In [2]: import redisIn [3]: pool = redis.ConnectionPool(host='localhost', port=6379, db=0, password='0okmnhy6')In [4]: r = redis.Redis(connection_pool=pool)In [5]: pipe = r.pipeline(transaction=True)In [6]: r.set('country', 'china')Out[6]: TrueIn [7]: r.set('city', 'beijing')Out[7]: TrueIn [8]: r.get('country')Out[8]: b'china'In [9]: r.get('city')Out[9]: b'beijing'In [10]: pipe.execute()Out[10]: []

参考链接

转载地址:http://mjvml.baihongyu.com/

你可能感兴趣的文章
自动流水号
查看>>
最大异或子序列问题
查看>>
[Python] IMG to Char
查看>>
SpringBoot 整合 Logback
查看>>
Learn Python 014: Funtions
查看>>
Centos7编译Hadoop-2.7.5遇到的坑
查看>>
大众哲学(思维导图)
查看>>
敏捷个人3月份公益大会路线图
查看>>
WEB前端开发工程师 学习第二天 背景
查看>>
0607mysql基础:常用属性、约束
查看>>
Daniel Pfeifer 《Effective CMake》讲座笔记
查看>>
Sequelize-nodejs-4-Model usage
查看>>
【赛时总结】◇赛时·VII◇ Atcoder ABC-106
查看>>
javascript 查找属性的过程
查看>>
菜鸟python之路-第五章(记录读书点滴)
查看>>
GDUFE ACM-1044
查看>>
绘制程序流程图笔记
查看>>
leetcode — remove-duplicates-from-sorted-array-ii
查看>>
Java 线程 — ConcurrentLinkedQueue
查看>>
leetcode703
查看>>