分類: Python NoSQL 2012-03-05 13:38 6280人閱讀 收藏 舉報(bào) 1. 安裝
1. redis-py
a. 使用easy_install
b. 源碼安裝
- git clone https://github.com/andymccurdy/redis-py.git
- cd redis-py
- python setup.py install
2. Parser安裝
Parser可以控制如何解析redis響應(yīng)的內(nèi)容。redis-py包含兩個(gè)Parser類,PythonParser和HiredisParser。默認(rèn),如果已經(jīng)安裝了hiredis模塊,redis-py會使用HiredisParser,否則會使用PythonParser。
HiredisParser是C編寫的,由redis核心團(tuán)隊(duì)維護(hù),性能要比PythonParser提高10倍以上,所以推薦使用。安裝方法,使用easy_install:
redis-py提供兩個(gè)類Redis和StrictRedis用于實(shí)現(xiàn)Redis的命令,StrictRedis用于實(shí)現(xiàn)大部分官方的命令,并使用官方的語法和命令(比如,SET命令對應(yīng)與StrictRedis.set方法)。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')
redis-py使用connection pool來管理對一個(gè)redis server的所有連接,避免每次建立、釋放連接的開銷。默認(rèn),每個(gè)Redis實(shí)例都會維護(hù)一個(gè)自己的連接池??梢灾苯咏⒁粋€(gè)連接池,然后作為參數(shù)Redis,這樣就可以實(shí)現(xiàn)多個(gè)Redis實(shí)例共享一個(gè)連接池。
- 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')
redis pipeline機(jī)制,可以在一次請求中執(zhí)行多個(gè)命令,這樣避免了多次的往返時(shí)延。
- 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默認(rèn)在一次pipeline中的操作是原子的,要改變這種方式,可以傳入transaction=False,
- pipe = r.pipeline(transaction=False)
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報(bào)。