zoukankan      html  css  js  c++  java
  • python操作redis

    首先安装redis模块

    pip3 install redis -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

    一、连接redis

    1.基本连接操作

    string操作

    set(name, value, ex=None, px=None, nx=False, xx=False)

    在Redis中设置值,默认,不存在则创建,存在则修改

    参数:
         ex,过期时间(秒)
         px,过期时间(毫秒)
         nx,如果设置为True,则只有name不存在时,当前set操作才执行
         xx,如果设置为True,则只有name存在时,当前set操作才执行
    # -*- coding:utf-8 -*- 
    # Author:Brownyangyang
    
    import redis
    
    #生成实例,连接redis服务器
    r = redis.Redis(host='10.211.55.15',port=6379)
    
    #设置key-value
    r.set("name","liyang")
    
    #读取数据
    print(r.get("name"))

    2.连接池

    使用连接池可以实现在客户端建立多个连接,需要使用连接的时候通过一定的算法获取已经建立的连接,用完了以后则还给连接池。这样就节省了建立、断开连接所消耗的时间。

    # -*- coding:utf-8 -*- 
    # Author:Brownyangyang
    
    import redis
    
    pool = redis.ConnectionPool(host='10.211.55.15',port=6379)
    
    r = redis.Redis(connection_pool=pool)
    
    r.set("name","liyang")
    
    #读取数据
    print(r.get("name"))

    3.管道

    Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下一个请求会遵循以下步骤:

    • 客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。
    • 服务端处理命令,并将结果返回给客户端。

    Redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。

    # -*- coding:utf-8 -*- 
    # Author:Brownyangyang
    import redis
    import time
    
    pool = redis.ConnectionPool(host='10.211.55.15',port=6379,db=2)
    r = redis.Redis(connection_pool=pool)
    pipe = r.pipeline(transaction=True)
    pipe.set('name','liyangpip').set('location','nantong').lpush('list1','hello').sadd('course','math')
    pipe.execute()

    使用管道效率比不使用管道效率要高。

    4.发布订阅

    未完待续

  • 相关阅读:
    B. Random Teams(Codeforces Round 273)
    Unity3d中的属性(Attributes)整理
    Python 的 Flask 框架安装应用
    动态SQL(章节摘要)
    Linux系统PWM驱动【转】
    嵌入式电路中的BUCK VS LDO【转】
    git用法-打补丁【转】
    展讯7731C_M Android6.0 充电指示灯实现(一)------关机充电实现【转】
    Android 充电信息的获取【转】
    2.Android硬件访问服务编写系统代码【转】
  • 原文地址:https://www.cnblogs.com/brownyangyang/p/9028329.html
Copyright © 2011-2022 走看看