redis的连接方式

1、操作模式

redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py

    import redis
    r = redis.Redis(host='10.211.55.4', port=6379)
    r.set('foo', 'Bar')
    print r.get('foo')

2、连接池

redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。默认,每个Redis实例都会维护一个自己的连接池,可以直接建立一个连接池,然后作为参数Redis,这样就可以实现多个Redis实例共享一个连接池

    import redis
    #拿到一个redis的连接池
    Pool = redis.ConnectionPool(host='127.0.0.1',port=6379,max_connections=10)
    #从池子中拿一个链接
    conn = redis.Redis(connection_pool=Pool,decode_responses=True)
    print(conn.get('name').decode('utf-8'))

3、管道

redis-py默认在执行每次请求都会创建(连接池申请连接)和断开(归还连接池)一次连接操作,如果想要在一次请求中指定多个命令,则可以使用pipline实现一次请求指定多个命令,并且默认情况下一次pipline是原子性操作:

    import redis
    pool = redis.ConnectionPool(host=192.168,port=6379)
    r = redis.Redis(connection_pool=pool)
    #pipe = r.pipeline(transaction=False)
    pipe = r.pipeline(transaction=True)
    pipe.set('name','ale')
    pipe.set('role','ab')
    pipe.execute()

猜你喜欢

转载自www.cnblogs.com/venvive/p/11708744.html