Redis: 是一个高性能的key-value数据库。

简单来说就是:当你使用关系型数据库、文件或者其他介质存东西,性能不好反应慢,这个时候就要拿个东西做缓存。同类产品有好几种,目前比较流行,在我司进行商用的就是这个。目前,这玩意在集群状态下,为我们的百万级并发提供良好的支持。

今天,我们就来简单聊聊,如何用python操作redis。

牛小妹,把这个放进你的毕业设计,又能锦上添花哦。

redis的安装,参考文章

1.python 连接redis

普通连接

import redis

#后面是地址 端口

r = redis.Redis(host='127.0.0.1', port=6379)

2.连接池

redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销

import redis

pool = redis.ConnectionPool(host='192.168.0.110', port=6379)

r = redis.Redis(connection_pool=pool)

3.管道

redis-py,默认情况下,每次都会进行连接池的连接和断开。若是想一次执行多条命令,进行事务性操作,就要用管道。

import redis

pool = redis.ConnectionPool(host='192.168.0.110', port=6379)

r = redis.Redis(connection_pool=pool)

pipe = r.pipeline(transaction=True)

r.set('zcx', '5555')

r.set('zcx', '6666')

pipe.execute()

说明:虽然提供了这么一个功能。但实际情况还是不建议使用。因为这个执行起来慢。另一方面,也没必要

4.发布订阅

在我们学习操作系统这本书的时候,里面有个生产者和消费者。在这里,我试着用redis来模拟

定义公共的类,包装方法和初始化连接

import redis

class redis_util(object):

def __init__(self):

self.__conn = redis.Redis(host='127.0.0.1', port=6379)

self.channel = 'mybaby' # 定义通道名称

def publish(self, msg): # 定义发布的方法

self.__conn.publish(self.channel, msg)

return True

def subscribe(self): # 定义订阅的方法

pub = self.__conn.pubsub()

pub.subscribe(self.channel)

pub.parse_response()

return pub

publisher发布者:

from polls.redis_utils import redis_util

obj = redis_util()

obj.publish('test')

subscriber订阅者:

from polls.redis_utils import redis_util

obj = redis_util()

redis_sub = obj.subscribe()

while True:

msg = redis_sub.parse_response()

print(msg)

至于发布订阅。只是表达有这么一个功能。但是,不建议用。后面,我将和大家一起,更深入的讨论这方面的问题。

好啦,今晚就玩到这,要去陪我家小baby啦

python连接redis_Python连接Redis相关推荐

  1. python使用redis_Python操作redis系列之 列表(list) (五)

    # -*- coding: utf-8 -*-import redis r=redis.Redis(host="123.156.74.190",port=6379,password ...

  2. python操作redis实例_Java,php,Python连接并操作redis实例

    1.Java连接并操作redis 在Eclipse里新建一个java project,导入jedis-*.jar包. 示例代码,其他对应的操作类型见:http://my.oschina.net/u/2 ...

  3. python redis连接池获取后关闭_python通过连接池连接redis,操作redis队列

    在每次使用redis都进行连接的话会拉低redis的效率,都知道redis是基于内存的数据库,效率贼高,所以每次进行连接比真正使用消耗的资源和时间还多.所以为了节省资源,减少多次连接损耗,连接池的作用 ...

  4. python redis连接_Redis学习---Redis操作之Python连接

    PyCharm下的Redis连接 连接方式: 1. 操作模式 redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使 ...

  5. 本地window cmd 远程连接外网redis

    2019独角兽企业重金招聘Python工程师标准>>> 要点 1.确认本地windows要安装redis 2.确认在服务器上安装redis时,将绑定的本机给注释掉了 vi redis ...

  6. redis:redis介绍和安装、普通连接和连接池、redis 5大数据类型之字符串、Hash、列表、其他操作(通用)、管道、django使用redis、接口缓存

    目录 一. redis介绍和安装 二. 普通连接和连接池 三. redis 5大数据类型之字符串 四. redis 5大数据类型之Hash 五. redis 5大数据类型之列表 六. 其他操作(通用) ...

  7. 禁止套娃!Redis官网宕机,返回“连接不上Redis”

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:Spring Boot + Vue 如此强大?竟然可以开发基于 C/S 架构的应用个人原创+1博客:点击前往,查 ...

  8. php7 redis长连接,php使用redis长连接有哪些步骤

    这次给大家带来php使用redis长连接有哪些步骤,php使用redis长连接的注意事项有哪些,下面就是实战案例,一起来看一下. php-redis在github上的项目地址:https://gith ...

  9. SpringBoot中实现连接多个Redis分别读写数据

    场景 在SpringBoot项目中需要连接两个Redis实例,并实现从A中获取数据并存取到B中. 另外A中redis的地址和密码不能外漏,则将A的地址和密码写在jar包中,B中redis参数可以在外置 ...

最新文章

  1. MMD_2a_FindSimilarSets
  2. 从u盘设备启动arc-livecd
  3. Unity3D绑定button监听事件
  4. [机器学习] gcForest 官方代码详解
  5. 使用fping 查看局域网中有哪些ip
  6. php可以用水晶报表吗,什么是水晶报表与水晶报表功能分析
  7. myeclipse 8.5 注册码
  8. Tomcat 优化和性能监测
  9. PHP学习笔记【13】_正则表达式
  10. 苹果电脑计算机找不到打印机,macbook air电脑关于添加打印机的问题
  11. 国外服务器 虚拟主机,虚拟主机国内国外什么区别
  12. 让鼠标漫天飞舞:在内核中实现鼠标的中断处理
  13. Linux之scp与sftp的使用
  14. Redis 自定义对象 cannot be cast to java.lang.String
  15. 计算机在流体力学中的应用,流体力学原理在游泳中的应用
  16. (Java)类比学生管理系统做一个游戏管理系统(不含JDBC)
  17. 把资料放在网盘的风险有多大?MEGA网盘87GB数据遭泄露
  18. linux下git的安装与使用
  19. matlab 电路编程入门,菜鸟入门Matlab编程
  20. android线程间通信的四种实现方式

热门文章

  1. 记一次批量插入数据库脚本练习
  2. sklearn 高维数据集制作make_circles 和 make_moons
  3. win10 postgresql10.20环境变量配置
  4. 七、Debian 10 DHCP中继
  5. 数据库T-SQL语句
  6. Python 使用pyplot画图
  7. 数字化转型成功的企业,他们做对了什么?
  8. k8s:kubeadm搭建k8s集群,加入新master节点报错
  9. php页面 word,word如何自定义页面
  10. 重新安装了mysql,以前的数据库如何导入到新的数据库