python 异步操作redis
由于python对redis进行连接、增删改查等操作时都是网络IO,可能需要一定时间,因此实现异步操作可提高并发性。
首先需要先安装aioredis模块
pip install aioredis==1.3.1
我在虚拟机中运行redis(前台启动) :
在虚拟机中先查看能否ping通主机:
ping通的话我设置不需要密码就可以访问redis:
czc@czc-VirtualBox:~$ redis-cli
127.0.0.1:6379> config set protected-mode no
接下来在主机通过python代码异步操作redis:
示例1:
import asyncio
import aioredisasync def execute1(address, password):print("开始连接redis:",address)# 网络IO操作:创建redis连接redis = await aioredis.create_redis(address, password=password)# 网络IO操作:在redis中设置哈希值person,内部在设两个键值对await redis.hmset_dict("person",{"name1":"cc", "age":19})# 网络IO操作:去redis中获取值result = await redis.hgetall("person",encoding="utf-8")print(result)# 网络IO操作:关闭redis连接redis.close()print("结束连接redis:", address)async def execute2(address, password):print("开始连接redis:",address)# 网络IO操作:创建redis连接redis = await aioredis.create_redis(address, password=password)# 网络IO操作:在redis中设置哈希值person,内部在设两个键值对await redis.hmset_dict("person",{"name2":"mm", "age":18})# 网络IO操作:去redis中获取值result = await redis.hgetall("person",encoding="utf-8")print(result)# 网络IO操作:关闭redis连接redis.close()print("结束连接redis:", address)async def main():print("开始执行任务")task_list = [asyncio.create_task(execute1("redis://192.168.1.173:6379", None)),asyncio.create_task(execute2("redis://192.168.1.173:6379", None)),]done,pending = await asyncio.wait(task_list, timeout=2) #timeout表示只等2s,超过2s就不等了print(done,pending)if __name__ == '__main__':asyncio.run(main())
结果:
在虚拟机中查看是否已经存储成功:
python 异步操作redis相关推荐
- python的redis数据库连接与使用
Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...
- Redis数据库搭建集群(集群概念、redis集群、搭建集群(配置机器1、2、创建集群、数据操作验证)、Python与redis集群交互)
1. 集群的概念 集群是一组相互独立的.通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理.一个客户与集群相互作用时,集群像是一个独立的服务器.集群配置是用于提高可用性和可缩放性. ...
- Python操作Redis及连接方式
前沿:随着互联网的高速发展,数据变得越来越重要,Python成为了人工智能的热门语言,而Nosql数据库已成为日常开发用品. 今天要写的是Python操作Redis Redis的安装我就不介绍了,你可 ...
- python 操作redis之——有序集合(sorted set) (七)
#coding:utf8 import redis r =redis.Redis(host="23.226.74.190",port=63279,password="66 ...
- python连接redis有中文_Python连接Redis并操作
首先开启redis的外连 sch01ar@ubuntu:~$ sudo vim /etc/redis/redis.conf 把bind 127.0.0.1这行注释掉 然后重启redis sudo /e ...
- 用python画简单的四叶草-使用 python 操作 redis
1.安装pyredis (1)使用 #easy_install redis (2)直接编译安装 #wget https://pypi.python.org/packages/source/r/redi ...
- Windows下安装Redis及使用Python操作Redis的方法
这篇文章主要介绍了Windows下安装Redis及使用Python操作Redis的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 首先说一下在Windows下安装Redis,安装包可以在htt ...
- python 操作redis之——HyperLogLog (八)
#coding:utf8 import redis # python 操作redis之--HyperLogLog r =redis.Redis(host="33.23.724.12190&q ...
- python 实现redis订阅发布功能
redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...
最新文章
- 影响HP服务器的磁盘性能的重要因素 -- 阵列卡的缓存和电池
- 20145234黄斐《Java程序设计》第五周
- python基础一循环
- java jtable 添加数据库_java-将jTable中的数据插入数据库
- c++实现多态的方法 虚表
- 怎么查看父子级目录linux,如何查找linux中特定父目录的所有文件?
- 编程基础 垃圾回收_编程中的垃圾回收指南
- Linux技术网站中文,Linux技术网站,putty工具,中文显示设置
- 03-windows下Oracle的下载与安装
- C读取INI的代码实例
- java jxl.jar_jxl.jar官方下载-jxl.jar(java操作excel) 免费版 - 河东下载站
- 简单实现京东分类页面
- java 双三次线性插值_双线性及双三次插值
- 谷歌生物医学专用翻译_实用技能 | 知云文献翻译
- iOS系统字体大全,iOS系统中所有的字体
- 人物-IT-张朝阳:张朝阳
- 计算机有没有博士学位造假,72岁老人获博士学位遭质疑学历造假 校方辟谣--人民网教育频道--人民网...
- iphone开发中内存利用说明
- PHP取出数组中随机一条字符串
- python:实现由伪栈表示的队列算法(附完整源码)
热门文章
- 前端小作业~二维码动画
- 新手奶爸,分享一款记录儿童身高体重的APP,并分析其中所用到的技术。
- stm32低功耗模式下mcu的实际功耗(ST芯片手册)
- 【Swift】用来测试的在线小视频url地址
- fastboot 刷机遇到问题
- 智能工厂——智能制造的载体
- python——Socket网络编程(详细讲解)(一)
- Exceptional Flow Control(异常控制流)
- javaweb JAVA JSP电影院在线订票系统JSP电影购票系统 JSP电影售票 JSP电影票预订系统支持在线选座jsp电影票预订系统
- 【Flutter混合开发踩坑日记之‘applicationVariants‘ for extension ‘android‘】