文章出處

一、下載、編譯

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 運行一次


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()