阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Python对Redis操作

122次阅读
没有评论

共计 1812 个字符,预计需要花费 5 分钟才能阅读完成。

一、连接 Redis 数据库

作用:redis 模块用于调用操作 redis,而 redis 是一个基于内存的高性能 key-value 的存储系统,支持存储的类型有 string、list、set、zset 和 hash。在处理大规模数据读写或高效的缓存的场景下运用比较多

安装:pip install redis

说明:redis 模块中允许两种连接方式直接连接和连接池连接

直接连接

  • 使用默认方式连接到数据库

    import redis try: r = redis.StrictRedis(host="8.8.8.8", port=6379, password="zutuanxue_com", db=0) except: print("连接 Redis 失败")
  • 使用 url 方式连接到数据库

    格式 说明
    redis://[:password]@host:port/db TCP 连接
    rediss://[:password]@host:port/db Redis TCP+SSL 连接
    unix://[:password]@/path/to/socket.sock?db=db Redis Unix Socket 连接
    import redis try: r = redis.StrictRedis.from_url('redis://:zutuanxue_com@8.8.8.8:6379/0') except: print("连接 Redis 失败")

连接池连接

连接池的原理是,通过预先创建多个连接, 当进行 redis 操作时,直接获取已经创建的连接进行操作,而且操作完成后,不会释放,用于后续的其他 redis 操作,这样就达到了避免频繁的 redis 连接创建和释放的目的,从而提高性能。redis 模块采用 ConnectionPool 来管理对 redis server 的所有连接

  • 使用默认方式连接到数据库

    import redis pool = redis.ConnectionPool(host='8.8.8.8', port=6379, password="zutuanxue_com", db=0) try: r = redis.StrictRedis(connection_pool=pool) except: print("连接 Redis 失败")
  • 使用 url 方式连接到数据库

    格式 说明
    redis://[:password]@host:port/db TCP 连接
    rediss://[:password]@host:port/db Redis TCP+SSL 连接
    unix://[:password]@/path/to/socket.sock?db=db Redis Unix Socket 连接
    import redis pool = redis.ConnectionPool.from_url('redis://:zutuanxue_com@8.8.8.8:6379/0') try: r = redis.StrictRedis(connection_pool=pool) except: print("连接 Redis 失败")

二、数据操作

根据数据类型的不同,调用相应的方法,完成读写

import redis pool = redis.ConnectionPool.from_url('redis://:zutuanxue_com@8.8.8.8:6379/0') try: r = redis.StrictRedis(connection_pool=pool) except: print("连接 Redis 失败") r.set("zutuanxue_com", "good") print(r.get("zutuanxue_com"))

问题:一条数据操作一次数据库,访问频繁效率低

pipline 方式访问数据库

优点:缓冲多条命令,然后依次执行,减少服务器 - 客户端之间的 TCP 数据包,从而提高效率

import redis pool = redis.ConnectionPool.from_url('redis://:zutuanxue_com@8.8.8.8:6379/0') try: r = redis.StrictRedis(connection_pool=pool) except: print("连接 Redis 失败") pipe = r.pipeline() pipe.set("aa", "111") pipe.set("bb", "222") pipe.set("cc", "333") pipe.set("dd", "444") pipe.execute()

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-05-26发表,共计1812字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中