Python——redis-py

安裝redis-py


GitHub地址https://github.com/andymccurdy/redis-pygit


pip3 install redis


##鏈接redis
 redis-py提供兩個類Redis和StrictRedis用於實現Redis的命令,StrictRedis用於實現大部分官方的命令,並使用官方的語法和命令,Redis是StrictRedis的子類github


import redis  r = redis.StrictRedis(host='localhost', port=6379, db=0) r.set('foo', 'bar') c = r.ge


鏈接池


redis-py使用connection pool來管理對一個redis server的全部鏈接,避免每次創建、釋放鏈接的開銷。默認,每一個Redis實例都會維護一個本身的鏈接池。能夠直接創建一個鏈接池,而後做爲參數Redis,這樣就能夠實現多個Redis實例共享一個鏈接池。redis


import redis  pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True) clientOne = redis.Redis(connection_pool=pool) clientTwo = redis.Redis(connection_pool=pool)  clientOne.set('name1', 'zhangsan') print(clientOne.get('name1')) clientTwo.set('name2', 'lisi') print(clientTwo.get('name2')) print(clientOne.client_list()) print(clientTwo.client_list()) # 能夠看出兩個鏈接的id是一致的,說明是一個客戶端鏈接


##管道
redis-py默認在執行每次請求都會建立(鏈接池申請鏈接)和斷開(歸還鏈接池)一次鏈接操做,若是想要在一次請求中指定多個命令,則可使用pipline實現一次請求指定多個命令,而且默認狀況下一次pipline 是原子性操做。spa


import redis  pool = redis.ConnectionPool(host='localhost', port=6379) r = redis.Redis(connection_pool=pool)  pipe = r.pipeline()  r.set('name', 'zhangsan') r.set('name', 'lisi') r.set('name', 'wangwu') pipe.execute()


經常使用操做


####設置
在Redis中設置值,默認,不存在則建立,存在則修改。 ex表示過時時間(秒),px表示過時時間(毫秒), nx表示若是設置爲True,則只有name不存在時,當前set操做才執行,xx表示若是設置爲True,則只有name存在時,set操做才執行。.net



設置過時時間爲1秒3d



設置不存在採起修改code


本文同步分享在 博客「羊羽」(other)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。server

相關文章
相關標籤/搜索