redis 學習筆記(1)-編譯、啟動、停止
一、下載、編譯
redis是以原始碼方式發行的,先下載原始碼,然後在linux下編譯
1.1 http://www.redis.io/download 先到這裡下載Stable穩定版,目前最新版本是2.8.17
1.2 上傳到linux,然後執行以下命令解壓
tar xzf redis-2.8.17.tar.gz
1.3 編譯
cd redis-2.8.17
make
注:make命令需要linux上安裝gcc,若機器上未安裝gcc,redhat環境下,如果能聯網,可鍵入
yum -y install gcc 安裝
(若之前安裝了其它版本的gcc,導致make失敗,可嘗試先yum -y remove gcc刪除舊版本)
另:編譯中若提示"Newer version of jemalloc required"之類的錯誤,在make後加引數 MALLOC=libc,即 make MALLOC=libc
二、修改redis埠,調整執行方式為後臺程式daemonize方式執行
預設埠為6379,如果linux上該埠被牆了,可以嘗試換一個埠
2.1 參考下面的命令(將埠改成7030)
cd $REDIS_HOME (進入redis主目錄)
mkdir conf (建立conf目錄,用於存放配置)
cd conf (進入conf目錄)
cp ../redis.conf redis7030.conf (將上級目錄下的redis.conf複製到當前目錄,並重新命名為redis7030.conf)
vi redis7030.conf (用vi編輯該配置檔案)
找到:
daemonize no,將no改成yes
port 7030,將6379改成7030
然後儲存退出
三、啟動redis
cd $REDIS_HOME/src
./redis-server ../conf/redis7030.conf
四、使用redis-cli客戶端驗證
仍然保持在“redis_home主目錄\src"下,輸入
./redis-cli -p 7030 set test 'Hello Redis'
即:指定埠7030,連線到本機redis,同時設定一個key為test,value為'Hello Redis'的快取項
(注:如果連線遠端的redis伺服器,可以用類似./redis-cli -h 192.168.1.190 -p 8030 get a)
讀取快取
./redis-cli -p 7030 get test 測試獲取test快取項
刪除快取
./redis-cli -p 7030 del test
小技巧:redis沒有提供批量刪除的方法,可以用下面的技巧批量刪除 ./redis-cli -p 7030 KEYS "*" | xargs ./redis-cli -p 7030 DEL
此外,還可以通過
./redis-benchmark -p 7030 進行效能測試
五、停止redis
./redis-cli -p 7030 shutdown
為了以後運維更輕鬆,可以利用alias做幾個別名,
vi ~/.bashrc
alias redis="cd /opt/app/redis/redis-2.8.17/src"
alias startRedis="/opt/app/redis/redis-2.8.17/src/redis-server /opt/app/redis/redis-2.8.17/conf/redis7030.conf"
alias stopRedis="/opt/app/redis/redis-2.8.17/src/redis-cli -p 7030 shutdown"
具體路徑,大家根據實際情況調整,儲存退出,重新連線到linux終端
redis 即可直接進入redis根目錄
startRedis 即啟動redis
stopRedis 即停止redis
六、配置redis僅做為快取使用
如果不打算使用事務、管線等一堆複雜功能,僅僅把redis當成cache server使用,可以在配置檔案中,找到maxmemory、maxmemory-policy這二項,參考下面修改
maxmemory 2048mb
maxmemory-policy allkeys-lru
即:最大允許使用2G記憶體,所有key全都按LRU(近期最少使用)演算法淘汰,這種情況下,不用設定過期時間,只要記憶體使用達到上限,不怎麼使用的key自然被幹掉。
附:redis.conf的微優化配置(從百度百科上抄過來的)
1 daemonize yes 2 3 pidfile /opt/app/redis/redis-2.8.17/var/redis.pid 4 5 port 7030 6 7 timeout 300 8 9 loglevel debug 10 11 logfile /opt/app/redis/redis-2.8.17/var/redis.log 12 13 databases 16 14 15 save 9001 16 17 save 30010 18 19 save 6010000 20 21 rdbcompression yes 22 23 dbfilename dump.rdb 24 25 dir /opt/app/redis/redis-2.8.17/var/ 26 27 appendonly no 28 29 appendfsync always 30 31 # slaveof <masterip> <masterport> 32 # masterauth <master-password> 33 34 slave-serve-stale-data yes 35 36 slave-read-only yes 37 38 maxmemory 1gb 39 40 maxmemory-policy allkeys-lru
其中:
埠、38行-最大記憶體使用量、以及var目錄路徑,大家根據實際情況自行調整
最後在動手寫程式碼前,先強烈建議閱讀下 An introduction to Redis data types and abstractions (官網的入門文件),並認真把文中提到的示例通過redis-cli 執行一次
出處:http://yjmyzz.cnblogs.com
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。