本文包括如下內容:
[注:入門教程,僅供菜鳥]
Redis是一個key-value存儲系統。和Memcached類似,但是解決了斷電後數據完全丟失的情況,而且她支持更多無化的value類型,除了和string外,還支持lists(鏈表)、sets(集合)和zsets(有序集合)幾種數據類型。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。
下面是官方的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.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.gz tar xzf redis-1.2.6.tar.gz cd redis-1.2.6
3.1.2.編譯生成可執行文件:
由於makefile文件已經寫好,我們只需要直接在源碼目錄執行make命令進行編譯即可:
make
make命令執行完成後,會在當前目錄下生成本個可執行文件,分別是redis-server、redis-cli、redis-benchmark、redis-stat,它們的作用如下:
3.1.3.建立Redis目錄(非必須)
這個過程不是必須的,只是為了將Redis相關的資源統一管理而進行的操作。
執行以下命令建立相關目錄並拷貝相關文件至目錄中:
sudo -s mkdir -p /usr/local/redis/bin mkdir -p /usr/local/redis/etc mkdir -p /usr/local/redis/var cp 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 yes pidfile /usr/local/redis/var/redis.pid port 6379 timeout 300 loglevel debug logfile /usr/local/redis/var/redis.log databases 16 save 900 1 save 300 10 save 60 10000 rdbcompression yes dbfilename dump.rdb dir /usr/local/redis/var/ appendonly no appendfsync always glueoutputbuf yes shareobjects no shareobjectspoolsize 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服務。
具體例子見官方文檔:
《A case study: Design and implementation of a simple Twitter clone using only the Redis key-value store as database and PHP》