首页 > 数据库 >redis之python操作

redis之python操作

时间:2023-06-28 16:00:13浏览次数:40  
标签:python Redis redis conn import 操作 连接 连接池

安装

pip install redis

redis连接池概念

  • 连接管理:
    使用连接池可以有效地管理 Redis 连接。连接池会在应用程序初始化时创建一定数量的连接,并维护这些连接的可用性。应用程序可以从连接池中获取连接并使用完后将其归还给连接池,从而避免了频繁地创建和关闭连接。这样可以提高连接的重用率和效率,减少了每次连接时的开销。

  • 资源利用:
    使用连接池可以更好地利用资源。连接池可以根据应用程序的需求来动态调整池中的连接数。这使得应用程序可以根据负载情况来动态分配连接,避免了一次性创建大量连接或过多的闲置连接。同时,连接池还可以在不需要连接时减少空闲连接的数量,从而节省了服务器资源。

总的来说,使用连接池可以提高 Redis 连接的性能和效率,并优化资源利用。它提供了连接的复用、管理和调优的能力,从而更好地满足应用程序的需求。但是,使用连接池也需要权衡连接数的配置和管理,避免连接池过大或过小导致的性能问题。

操作

  • 普通方式连接
# 导入实例
from redis import Redis

# 实例化得到对象
conn = Redis(host='127.0.0.1', port=6379)

# 设置一个值
conn.set('name', 'jsd')

# 关闭连接
conn.close
  • 连接池连接
  1. 创建一个pool.py文件,内容如下
import redis
# 创建一个大小为10的连接池
POOL = redis.ConnectionPool(max_connections=10, host='127.0.0.1', port=6379)
  1. 使用时直接导入pool就可以直接使用连接池了
import redis
# 操作线程
from threading import Thread
# 导入连接池
from pool import POOL
def task():
    conn = redis.Redis(connection_pool=POOL)
    print(conn.get(name))

for i in range(1000)
    t = Thread(target=task)
    t.start()

标签:python,Redis,redis,conn,import,操作,连接,连接池
From: https://www.cnblogs.com/smyz/p/17511440.html

相关文章

  • python 常见问题
    1、pycharm的terminal报错virtualenv无法加载文件activate.ps1python打开项目遇到报错:pycharm的terminal报错virtualenv无法加载文件activate.ps1解决办法Win+R命令,输入powershell,然后确定进入终端需要执行Start-Processpowershell-VerbrunAs切换到管理员命令窗......
  • python基础day34 魔术方法和反射
    魔术方法(内置方法)类里面内置的双下划线开头的一线方法,他们具有特殊的功能,我们称之为是魔术方法,简称魔法。eg:__init__魔术方法的学习之需要掌握每个方法什么时候触发或者执行1.__str__,__repr__方法classStudent():def__init__(self,name,age,gender):s......
  • 在 Java、Python、JavaScript 和 Go 中拥抱异步
    ​本文讨论了四种语言的异步,强调了它在创建高效、响应迅速的应用程序中的作用。作为一名拥有多年主要使用Java工作经验的软件开发人员,当我最近为一个新项目切换到Python时,我发现自己很感兴趣。这种转变促使我探索各种语言的异步编程世界,包括Java、Python、JavaScript和Go......
  • Linux - 操作mysql数据库
    运行环境Ubuntu20.04虚拟机Mysql8.0APIlibmysqlclient-devgcc9.4.0一、准备工作1、在Ubuntu上准备mysql开发环境更新软件源sudoaptupdate安装libmysqlclient-dev,这个lib库是Linux下C/C++连接mysql的客户端sudoaptinstalllibmysqlclient-dev2、创建测试数据库......
  • 日期更新后进行操作
    stringrecordTime=IniHandle.ReadSetting("时间记录","RecordTime");if(string.IsNullOrEmpty(recordTime)){IniHandle.WriteSetting("时间记录","RecordTime",DateTime.Now.ToString("yy......
  • Python - Ridiculous Rounding
     Python3uses“Banker’sRounding”whichisdefinedlikethis:“Exacthalfwaycasesarenowroundedtothenearestevenresultinsteadofawayfromzero”-perWhat’snewinPython3.Inthecaseof1.5,Pythonroundstotwobecausethatisthenear......
  • (Python编程)集成代码生成器SWIG
    ProgrammingPython,3rdEdition翻译最新版本见:http://wiki.woodpecker.org.cn/moin/PP3eD22.6.TheSWIGIntegrationCodeGenerator22.6.集成代码生成器SWIGButdon'tdothat.Asyoucanprobablytell,manualcodingofCextensionscan......
  • (Python编程)Jython:Java的Python
    ProgrammingPython,3rdEdition翻译最新版本见wiki:http://wiki.woodpecker.org.cn/moin/PP3eD欢迎参与翻译与修订。18.4.Jython:PythonforJava18.4.Jython:Java的PythonJython(formerlyknownasJPython)isanentirelydistinctimpleme......
  • Python time和datetime模块
    Pythontime和datetime模块标准库time与datetime时间的3中格式:时间戳时间戳-->struct_timetime.gmtime(UTC时间)time.localtime(本地时区时间)struct_time()struct_time-->时间戳time.mktimestruct_time-->格式化的字......
  • 如何用Python搭建监控平台
    监控和运维,是互联网工业链上非常重要的一环。监控的目的就是防患于未然。通过监控,我们能够及时了解到企业网络的运行状态。一旦出现安全隐患,你就可以及时预警,或者是以其他方式通知运维人员,让运维监控人员有时间处理和解决隐患,避免影响业务系统的正常使用,将一切问题的根源扼杀在摇......