• Redis的Python客户端redis-py的初步使用


    1. Redis的安装

    sudo pip install redis
    sudo pip install hiredis

    Parser可以控制如何解析redis响应的内容。redis-py包含两个Parser类,PythonParser和HiredisParser。默认,如果已经安装了hiredis模块,redis-py会使用HiredisParser,否则会使用PythonParser。HiredisParser是C编写的,由redis核心团队维护,性能要比PythonParser提高10倍以上,所以推荐使用。 

    2. Redis的使用

    redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令(比如,SET命令对应与StrictRedis.set方法)。Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py。 简单说,官方推荐使用StrictRedis方法。 

    不推荐Redis类,原因是他和咱们在redis-cli操作有些不一样,主要不一样是下面这三个方面。 

    ·LREM:参数 ‘num’ 和 ‘value’ 的顺序交换了一下,cli是 lrem queueName 0 ‘string’ 。  这里的0时所有的意思。 但是Redis这个类,把控制和string调换了。 

    ·ZADD:实现时 score 和 value 的顺序不小心弄反了,后来有人用了,就这样了

    ·SETEX: time 和 value 的顺序反了

    .Pool:   连接池

    import redis  
      
    r = redis.StrictRedis(host='127.0.0.1', port=9212)  
    r.set('foo', 'hello')  
    r.rpush('mylist', 'one')  
    print r.get('foo')  
    print r.rpop('mylist')  

    如果在创建StrictRedis实例时没有指定连接池connection pool,那会自动创建一个。我们可以先建好一个连接池,在创建StrictRedis时指定该连接池,这样就可以实现多个StrictRedis实例共享一个连接池了。这样可以节省内存等资源消耗。

    import redis  
      
    pool = redis.ConnectionPool(host='127.0.0.1', port=9212)  
    r_1 = redis.StrictRedis(connection_pool = pool)
    r_2 = redis.
    StrictRedis(connection_pool = pool)
    r_1.set(
    'one', 'first')
    r_2.set(
    'two', 'second')
    print r_1.get('one')
    print r_2.get('two')

    redis pipeline机制,对应的是redis中的事务(其实称为pipeline更准确),可以在一次请求中执行多个命令,这样避免了多次的往返时延。

    参考:

    使用redis-py的两个类Redis和StrictRedis时遇到的坑

    Redis的Python客户端redis-py

  • 相关阅读:
    linux tcpdump抓包,wireshark实时解析
    TLS协议分析
    sqlite sql语句关键字GROUP BY的理解
    使用 openssl 生成证书
    linux C单元测试工具CUnit的编译安装及使用
    http短连接大量time wait解决方案
    gdb调试行号错位
    libevent 多线程
    C语言单元测试
    客户端端口分配
  • 原文地址:https://www.cnblogs.com/ajianbeyourself/p/4471391.html
Copyright © 2020-2023  润新知