1. 程式人生 > >Redis基礎和安裝教程

Redis基礎和安裝教程

為什麼使用NoSQL?

今天我們可以通過第三方平臺,可以很容易的訪問和抓取資料。使用者的個人資訊,社交網路,地理位置,使用者生成的資料和使用者操作日誌已經成倍的增加。我們如果要對這些使用者資料進行挖掘,那SQL資料庫已經不適合這些應用了, NoSQL資料庫的發展也卻能很好的處理這些大的資料

NoSQL資料庫四大分類
  • 鍵值儲存資料庫
    • 相關產品:Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB
    • 典型應用:內容快取,主要用於處理大量資料的高訪問負載
    • 資料模型:一系列鍵值對
    • 優勢:快速查詢
    • 劣勢:儲存的資料缺少結構化
  • 列儲存資料庫
    • 相關產品:Cassandra、HBase、Riak
    • 典型應用:分散式檔案系統
    • 資料模型:以列簇式儲存,將一列資料存在一起
    • 優勢:查詢速度快,可擴充套件性強,更容易進行分散式擴充套件
    • 劣勢:功能相對侷限
  • 文件型資料庫
    • 相關產品:
    • 典型應用:
    • 資料模型:一系列鍵值對
    • 優勢:資料結構要求不嚴格
    • 劣勢:查詢效能不高,而且缺乏統一的查詢語法
  • 圖形資料庫
    • 相關產品:
    • 典型應用:社交網路
    • 資料模型:圖結構
    • 優勢:利用圖結構相關演算法
    • 劣勢:需要對整個圖做計算才能得出結果,不容易做分散式的叢集方案
NoSQL的特點
  • 易擴充套件
  • 大資料量,高效能
  • 靈活的資料模型
  • 高可用
目前Redis支援的鍵值資料型別
  • 字串型別
  • 雜湊型別
  • 列表型別
  • 集合型別
  • 有序集合型別
Redis應用場景
  • 快取(資料查詢、短連結、新聞內容,商品內容等)
  • 聊天室的線上好友列表
  • 任務列隊(秒殺、搶購、12306等)
  • 應用排行榜
  • 網站訪問統計
  • 資料過期處理(精確到毫秒)
  • 分散式叢集架構中的session分離
Redis的安裝和使用

Redis建議安裝在Linux伺服器上執行測試

  1. 安裝redis編譯的c環境,yum install gcc-c++
  2. 將redis-2.6.16.tar.gz上傳到Linux系統中
  3. 解壓到/usr/local下 tar -xvf redis-2.6.16.tar.gz -C /usr/local
  4. 進入redis-2.6.16目錄 使用make命令編譯redis
  5. 在redis-2.6.16目錄中 使用make PREFIX=/usr/local/redis install命令安裝 redis到/usr/local/redis中
  6. 拷貝redis-2.6.16中的redis.conf到安裝目錄redis中
  7. 啟動redis 在bin下執行命令redis-server redis.conf
  8. 如需遠端連線redis,需配置redis埠6379在linux防火牆中開發
    /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
    /etc/rc.d/init.d/iptables save
    image
後端模式

修改redis.conf配置檔案,daemonize yes以後端模式啟動。

vim/usr/local/redis/redis.conf

啟動時,指定配置檔案

cd/usr/local/redia/
.bin/redis-server./redis.conf

Redis啟動

./redis-server redis.conf
./redis-cli

Redis預設埠6379,通過當前服務進行檢視

ps -ef | grep -i redis

Redis停止

  • 強制結束程式(可能會導致redis持久化資料丟失)
kill -9 31475   #pid需要通過“ps aux | grep -i redis”進行查詢
  • 正確停止Redis的方式應該是向Redis傳送SHUTDOWN命令,方法為:(關閉預設埠)
cd/usr/local/redis
./bin/redis-cli/shutdown