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