python中redis的使用

引自:http://blog.csdn.net/chosen0ne/article/details/7319807python

  1. redis-py提供兩個類Redis和StrictRedis用於實現Redis的命令,StrictRedis用於實現大部分官方的命令,並使用官方的語法和命令。Redis是StrictRedis的子類,用於向後兼容舊版本的redis-py。
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')
  1. redis-py使用connection pool來管理對一個redis server的全部鏈接,避免每次創建、釋放鏈接的開銷。默認,每一個Redis實例都會維護一個本身的鏈接池。能夠直接創建一個鏈接池,而後做爲參數Redis,這樣就能夠實現多個Redis實例共享一個鏈接池。
import redis  
      
    pool = redis.ConnectionPool(host='127.0.0.1', port=9212)  
    r = redis.Redis(connection_pool=pool)  
    r.set('one', 'first')  
    r.set('two', 'second')  
    print r.get('one')  
    print r.get('two')

3.redis pipeline機制,能夠在一次請求中執行多個命令,這樣避免了屢次的往返時延。redis

import redis  
      
    pool = redis.ConnectionPool(host='127.0.0.1', port=9212)  
    r = redis.Redis(connection_pool=pool)  
    pipe = r.pipeline()  
    pipe.set('one', 'first')  
    pipe.set('two', 'second')  
    pipe.execute()  
      
    pipe.set('one'. 'first').rpush('list', 'hello').rpush('list', 'world').execute()
  • redis-py默認在一次pipeline中的操做是原子的,要改變這種方式,能夠傳入transaction=False*
pipe = r.pipeline(transaction=False)
相關文章
相關標籤/搜索