Redis入門教程

來源:互聯網
上載者:User
Redis入門教程

作者:nosqlfan on 星期五, 七月 23, 2010 · 評論本文 【閱讀:1,425 次】 

入門教程,僅供菜鳥。

原文連結:http://lgone.com/html/y2010/776.html

本文包括如下內容:

  1. Redis簡介
  2. Redis的效能
  3. 安裝Redis、Redis啟動參數介紹
  4. 應用執行個體:利用Redis構建簡單的微博系統(官方例子連結)

註:入門教程,僅供菜鳥

1.Redis簡介

Redis是一個key-value儲存系統。和Memcached類似,但是解決了斷電後資料完全丟失的情況,而且她支援更多無化的value類型,除了和string外,還支援lists(鏈表)、sets(集合)和zsets(有序集合)幾種資料類型。這些資料類型都支援push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。

2.Redis的效能

下面是官方的bench-mark資料:

  • The test was done with 50 simultaneous clients performing 100000 requests.
  • The value SET and GET is a 256 bytes string.
  • The Linux box is running Linux 2.6, it’s Xeon X3320 2.5Ghz.
  • Text executed using the loopback interface (127.0.0.1).

Results: about 110000 SETs per second, about 81000 GETs per second.


更多詳細資料請見官方bench-mark page(http://code.google.com/p/redis/wiki/Benchmarks)

3.安裝Redis、Redis啟動參數介紹

3.1.安裝Redis

Redis的代碼遵循ANSI-C編寫,可以在所有POSIX系統(如Linux, *BSD, Mac OS X, Solaris等)上安裝運行。而且Redis並不依賴任何非標準庫,也沒有編譯參數必需添加。編譯安裝Redis,我們唯一需要的就是make,下面是安裝過程,使用的是目前的穩定版本1.2.6版,2.0版本目前尚處於開發狀態。

3.1.1.擷取源碼、解壓、進入源碼目錄:

wget http://redis.googlecode.com/files/redis-1.2.6.tar.gztar xzf redis-1.2.6.tar.gzcd redis-1.2.6

3.1.2.編譯產生可執行檔:

由於makefile檔案已經寫好,我們只需要直接在源碼目錄執行make命令進行編譯即可:

make

make命令執行完成後,會在目前的目錄下產生本個可執行檔,分別是redis-server、redis-cli、redis-benchmark、redis-stat,它們的作用如下:

  • redis-server:Redis伺服器的daemon啟動程式
  • redis-cli:Redis命令列操作工具。當然,你也可以用telnet根據其純文字協議來操作
  • redis-benchmark:Redis效能測試工具,測試Redis在你的系統及你的配置下的讀寫效能
  • redis-stat:Redis狀態偵查工具,可以檢測Redis目前狀態參數及延遲狀況

3.1.3.建立Redis目錄(非必須)

這個過程不是必須的,只是為了將Redis相關的資源統一管理而進行的操作。

執行以下命令建立相關目錄並拷貝相關檔案至目錄中:

sudo -smkdir -p /usr/local/redis/binmkdir -p /usr/local/redis/etcmkdir -p /usr/local/redis/varcp redis-server redis-cli redis-benchmark redis-stat /usr/local/redis/bin/cp redis.conf /usr/local/redis/etc/

3.2.Redis配置參數詳解

在我們成功安裝Redis後,我們直接執行redis-server即可運行Redis,此時它是按照預設配置來啟動並執行(預設配置甚至不是後台運行)。我們希望Redis按我們的要求運行,則我們需要修改設定檔,Redis的設定檔就是我們上面第二個cp操作的redis.conf檔案,目前它被我們拷貝到了/usr/local/redis/etc/目錄下。修改它就可以配置我們的server了。如何修改?下面是redis.conf的主要配置參數的意義:

  • daemonize:是否以後台daemon方式運行
  • pidfile:pid檔案位置
  • port:監聽的連接埠號碼
  • timeout:請求逾時時間
  • loglevel:log資訊層級
  • logfile:log檔案位置
  • databases:開啟資料庫的數量
  • save * *:儲存快照的頻率,第一個*表示多長時間,第三個*表示執行多少次寫操作。在一定時間內執行一定數量的寫操作時,自動儲存快照。可設定多個條件。
  • rdbcompression:是否使用壓縮
  • dbfilename:資料快照檔案名稱(只是檔案名稱,不包括目錄)
  • dir:資料快照的儲存目錄(這個是目錄)
  • appendonly:是否開啟appendonlylog,開啟的話每次寫操作會記一條log,這會提高資料抗風險能力,但影響效率。
  • appendfsync:appendonlylog如何同步到磁碟(三個選項,分別是每次寫都強制調用fsync、每秒啟用一次fsync、不調用fsync等待系統自己同步)

下面是一個略做修改後的設定檔內容:

daemonize yespidfile /usr/local/redis/var/redis.pidport 6379timeout 300loglevel debuglogfile /usr/local/redis/var/redis.logdatabases 16save 900 1save 300 10save 60 10000rdbcompression yesdbfilename dump.rdbdir /usr/local/redis/var/appendonly noappendfsync alwaysglueoutputbuf yesshareobjects noshareobjectspoolsize 1024

將上面內容寫為redis.conf並儲存到/usr/local/redis/etc/目錄下

然後在命令列執行:

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

即可在後台啟動redis服務,這時你通過

telnet 127.0.0.1 6379

即可串連到你的redis服務。

4.利用Redis構建簡單的微博系統

具體例子見官方文檔:
《A case study: Design and implementation of a simple Twitter clone using only the Redis key-value store as database and PHP》

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.