(轉)redis 學習筆記(1)-編譯、啟動、停止

sl521100發表於2015-10-04

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 
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。

相關文章