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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM