21、python操作redis的模块?
什么是redis?
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
上面的话好像很专业的样子,这里我们简单的理解为,其实redis就是一个消息中间件,可以作为多个进程的消息中转站,是比之前我们用的manage模块更方便自由的共享内存。
1、基本操作
之前我们已经知道,redis是以key-value的形式存储的,所以我们在操作的时候。首先我们将redis所在主机的ip和发布端口作为参数实例化了一个对象r,然后执行set('name','Eva_J'),这样我们就在内存中存储了一个key为name,值为‘Eva_J’的项。我们可以理解为{'name':'Eva_J'},当我们要读取的之后,只需要get('name'),就会得到'Eva_J'的值。

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

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

发布者:服务器
订阅者:Dashboad和数据处理
Demo如下:
定义一个redishelper类,建立与redis连接,定义频道为fm92.4,定义发布public及订阅subscribe方法。

订阅者:导入刚刚我们写好的类,实例化对象,调用订阅方法,就可以使用while True接收信息了。

发布者:导入刚刚我们写好的类,实例化对象,调用发布方法,下例发布了一条消息‘hello’

21、python操作redis的模块?的更多相关文章
- Python操作Redis、Memcache、RabbitMQ、SQLAlchemy
		Python操作 Redis.Memcache.RabbitMQ.SQLAlchemy redis介绍:redis是一个开源的,先进的KEY-VALUE存储,它通常被称为数据结构服务器,因为键可以包含 ... 
- Python操作Redis、Memcache
		今天主要介绍如何通过python来对Redis和memcache进行操作,下面开始今天的内容: 一.Memcached操作 Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web ... 
- python操作redis用法详解
		python操作redis用法详解 转载地址 1.redis连接 redis提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用 ... 
- 五、Python操作redis
		五.Python操作redis 一.python对redis基本操作 (1)连接redis # 方式1 import redis r = redis.Redis(host='127.0.0.1', p ... 
- python——操作Redis
		在使用django的websocket的时候,发现web请求和其他当前的django进程的内存是不共享的,猜测django的机制可能是每来一个web请求,就开启一个进程去与web进行交互,一次来达到利 ... 
- 数据库之redis篇(3)—— Python操作redis
		虽然前面两篇已经说了redis的一些配置安装什么的,篇幅有点长,可能看完了也不知道怎么操作,这里再浓缩一下: 什么是redis redis完全开源免费的,遵守BSD协议,是一个高性能的非关系型key- ... 
- Python操作Redis及连接方式
		前沿:随着互联网的高速发展,数据变得越来越重要,Python成为了人工智能的热门语言,而Nosql数据库已成为日常开发用品. 今天要写的是Python操作Redis Redis的安装我就不介绍了,你可 ... 
- python操作Redis安装、支持存储类型、普通连接、连接池
		一.python操作redis安装和支持存储类型 安装redis模块 pip3 install redis 二.Python操作Redis之普通连接 redis-py提供两个类Redis和Strict ... 
- Redis常用操作大全和Python操作Redis
		简单使用 utils.py import redis POOL=redis.ConnectionPool(host='127.0.0.1',port=6379) view.py 第一种方式 (通用方式 ... 
随机推荐
- epoll&ext4文件系统
			1.第一个终端运行nesttest,nesttest首先fork一个子进程,然后父进程退出,子进程首先打开一个txt普通文件对应fd为3,然后创建一个epfd,对应fd为4 lybxin@Inspir ... 
- js jQuery 判断跳转是手机还是电脑
			<script type="text/javascript"> $(function () { var system = {}; var p = navigator.p ... 
- phpcms退出 提示  :退出成功0 。 的解决办法
			打开/phpcms/modules/member/index.php 搜索如下代码: showmessage(L('logout_success').$synlogoutstr, $forward); ... 
- RT-thread内核之对象管理系统
			一.数据结构 1.对象控制块:在include/rtdef.h中定义 /** * Base structure of Kernel object */ struct rt_object { char ... 
- servlet的service特性就是http协议的特性 即连接完就断开
			servlet的service特性就是http协议的特性 即连接完就断开 
- android应用打前需要准备些啥?
			发布之前我们需要准备的东西 参考了google官方和结合国内开发经验 1) 用户协议(本地.网络.API) 2) 签名文件(用于为APP加密,唯一标签) 3) 程序图标(第一个面对用户,准备不同的但合 ... 
- subprocess模块详解
			subprocess是Python与系统交互的一个库,该模块允许生成新进程,连接到它们的输入/输出/错误管道,并获取它们的返回代码. 该模块旨在替换几个较旧的模块和功能: os.system os.s ... 
- CF757G Can Bash Save the Day?
			CF757G Can Bash Save the Day? #include<bits/stdc++.h> #define RG register #define IL inline #d ... 
- Android APP性能优化(最新总结)
			导语 安卓大军浩浩荡荡,发展已近十个年头,技术优化日异月新,如今Android 8.0 Oreo 都发布了,Android系统性能已经非常流畅了.但是,到了各大厂商手里,改源码自定系统,使得And ... 
- BZOJ2178:圆的面积并——题解
			https://www.lydsy.com/JudgeOnline/problem.php?id=2178 给出N个圆,求其面积并. simpson,将圆劈成两半,假设上面的叫上壳,下面的叫下壳,对这 ... 
