由于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相关推荐

  1. python的redis数据库连接与使用

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...

  2. Redis数据库搭建集群(集群概念、redis集群、搭建集群(配置机器1、2、创建集群、数据操作验证)、Python与redis集群交互)

    1. 集群的概念 集群是一组相互独立的.通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理.一个客户与集群相互作用时,集群像是一个独立的服务器.集群配置是用于提高可用性和可缩放性. ...

  3. Python操作Redis及连接方式

    前沿:随着互联网的高速发展,数据变得越来越重要,Python成为了人工智能的热门语言,而Nosql数据库已成为日常开发用品. 今天要写的是Python操作Redis Redis的安装我就不介绍了,你可 ...

  4. python 操作redis之——有序集合(sorted set) (七)

    #coding:utf8 import redis r =redis.Redis(host="23.226.74.190",port=63279,password="66 ...

  5. python连接redis有中文_Python连接Redis并操作

    首先开启redis的外连 sch01ar@ubuntu:~$ sudo vim /etc/redis/redis.conf 把bind 127.0.0.1这行注释掉 然后重启redis sudo /e ...

  6. 用python画简单的四叶草-使用 python 操作 redis

    1.安装pyredis (1)使用 #easy_install redis (2)直接编译安装 #wget https://pypi.python.org/packages/source/r/redi ...

  7. Windows下安装Redis及使用Python操作Redis的方法

    这篇文章主要介绍了Windows下安装Redis及使用Python操作Redis的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 首先说一下在Windows下安装Redis,安装包可以在htt ...

  8. python 操作redis之——HyperLogLog (八)

    #coding:utf8 import redis # python 操作redis之--HyperLogLog r =redis.Redis(host="33.23.724.12190&q ...

  9. python 实现redis订阅发布功能

    redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...

最新文章

  1. 影响HP服务器的磁盘性能的重要因素 -- 阵列卡的缓存和电池
  2. 20145234黄斐《Java程序设计》第五周
  3. python基础一循环
  4. java jtable 添加数据库_java-将jTable中的数据插入数据库
  5. c++实现多态的方法 虚表
  6. 怎么查看父子级目录linux,如何查找linux中特定父目录的所有文件?
  7. 编程基础 垃圾回收_编程中的垃圾回收指南
  8. Linux技术网站中文,Linux技术网站,putty工具,中文显示设置
  9. 03-windows下Oracle的下载与安装
  10. C读取INI的代码实例
  11. java jxl.jar_jxl.jar官方下载-jxl.jar(java操作excel) 免费版 - 河东下载站
  12. 简单实现京东分类页面
  13. java 双三次线性插值_双线性及双三次插值
  14. 谷歌生物医学专用翻译_实用技能 | 知云文献翻译
  15. iOS系统字体大全,iOS系统中所有的字体
  16. 人物-IT-张朝阳:张朝阳
  17. 计算机有没有博士学位造假,72岁老人获博士学位遭质疑学历造假 校方辟谣--人民网教育频道--人民网...
  18. iphone开发中内存利用说明
  19. PHP取出数组中随机一条字符串
  20. python:实现由伪栈表示的队列算法(附完整源码)

热门文章

  1. 前端小作业~二维码动画
  2. 新手奶爸,分享一款记录儿童身高体重的APP,并分析其中所用到的技术。
  3. stm32低功耗模式下mcu的实际功耗(ST芯片手册)
  4. 【Swift】用来测试的在线小视频url地址
  5. fastboot 刷机遇到问题
  6. 智能工厂——智能制造的载体
  7. python——Socket网络编程(详细讲解)(一)
  8. Exceptional Flow Control(异常控制流)
  9. javaweb JAVA JSP电影院在线订票系统JSP电影购票系统 JSP电影售票 JSP电影票预订系统支持在线选座jsp电影票预订系统
  10. 【Flutter混合开发踩坑日记之‘applicationVariants‘ for extension ‘android‘】