1.安裝pyredis
(1)使用 # easy_install redis
(2)直接編譯安裝
#wget https://pypi.python.org/packages/source/r/redis/redis-2.9.1.tar.gz
#tar xvzf redis-2.9.1.tar.gz
#cd redis-2.9.1
#python setup.py install
2.簡單的redis操作
redis連接實例是線程安全的,可以直接將redis連接實例設置為一個全局變量,直接使用。如果需要另一個Redis實例(or Redis數據庫)時,就需要重新創建redis連接實例來獲取一個新的連接。同理,python的redis沒有實現select命令。
3.應用場景 - 頁面點擊數
《Redis Cookbook》對這個經典場景進行詳細描述。假定我們對一系列頁面需要記錄點擊次數。例如論壇的每個帖子都要記錄點擊次數,而點擊次數比回帖的次數的多得多。如果使用關系數據庫來存儲點擊,可能存在大量的行級鎖爭用。所以,點擊數的增加使用redis的INCR命令最好不過了。
當redis服務器啟動時,可以從關系數據庫讀入點擊數的初始值(1237這個頁面被訪問了34634次)
每當有一個頁面點擊,則使用INCR增加點擊數即可。
頁面載入的時候則可直接獲取這個值
4.使用hash類型保存多樣化對象
當有大量類型文檔的對象,文檔的內容都不一樣時,(即“表”沒有固定的列),可以使用hash來表達。
5.應用場景 - 社交圈子數據
在社交網站中,每一個圈子(circle)都有自己的用戶群。通過圈子可以找到有共同特征(比如某一體育活動、游戲、電影等愛好者)的人。當一個用戶加入一個或幾個圈子后,系統可以向這個用戶推薦圈子中的人。
我們定義這樣兩個圈子,並加入一些圈子成員。
獲得某一圈子的成員
可以使用集合運算來得到幾個圈子的共同成員
6.應用場景 - 實時用戶統計
當我們需要在頁面上顯示當前的在線用戶時,就可以使用Redis來完成了。首先獲得當前時間(以Unix timestamps方式)除以60,可以基於這個值創建一個key。然后添加用戶到這個集合中。當超過你設定的最大的超時時間,則將這個集合設為過期;而當需要查詢當前在線用戶的時候,則將最后N分鍾的集合交集在一起即可。由於redis連接對象是線程安全的,所以可以直接使用一個全局變量來表示。(Counting Online Users with Redis)