使用 python 操作 redis


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

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM