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

    未完待续

  • 相关阅读:
    c++ Oracle OCCI 编程
    linux库文件
    C/C++学习笔记 vector 和map基本操作总结
    linux 后台开发类常见问题及知识点
    Libmicrohttpd简介
    linux系统编程之进程(一):进程与程序
    回调函数
    va_start和va_end使用详解
    new在c#方法中的使用
    Android Studio快捷键
  • 原文地址:https://www.cnblogs.com/brownyangyang/p/9028329.html
Copyright © 2011-2022 走看看