• 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.发布订阅

    未完待续

  • 相关阅读:
    sqlserver服务 正在挂起更改,导致无法打开或者停止服务
    menuStrip与toolStrip的使用
    sqlDataCommandBuilder为dataGridView自动生成增删改代码时报错
    visual studio属性面板解释文字看不见
    窗体句柄 控件句柄
    form窗体show不出来
    TextBox密码框变文本框,文本框变密码框
    DataSet数据集手动添加一行记录
    Anaconda3-更换为清华源后依旧报错CondaHTTPError: HTTP 000 CONNECTION FAILED
    Kali Linux 国内源
  • 原文地址:https://www.cnblogs.com/brownyangyang/p/9028329.html
Copyright © 2020-2023  润新知