Linux下Redis的安裝和部署
一、Redis介紹
Redis是當前比較熱門的NOSQL系統之一,它是一個key-value存儲系統。和Memcache類似,但很大程度補償了Memcache的不足,它支持存儲的value類型相對更多,包括string、list、set、zset和hash。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作。在此基礎上,Redis支持各種不同方式的排序。
和Memcache一樣,Redis數據都是緩存在計算機內存中,不同的是,Memcache只能將數據緩存到內存中,無法自動定期寫入硬盤,這就表示,一斷電或重啓,內存清空,數據丟失。所以Memcache的應用場景適用於緩存無需持久化的數據。而Redis不同的是它會週期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,實現數據的持久化。
二、Redis的安裝
下面介紹在Linux環境下,Redis的安裝與部署
1、首先上官網下載Redis 壓縮包,地址:http://redis.io/download 下載穩定版3.0.7即可。
2、通過遠程管理工具,將壓縮包拷貝到Linux服務器中,首先創建lamp,拷貝文件到該目錄下,並執行以下命令:
3、執行make 對Redis解壓後文件進行編譯
編譯完成之後,可以看到解壓文件redis-3.0.7 中會有對應的src、conf等文件夾,這和windows下安裝解壓的文件一樣,大部分安裝包都會有對應的類文件、配置文件和一些命令文件。
4、編譯成功後,進入src文件夾,執行make install進行Redis安裝
5、安裝完成,界面如下
三、Redis的部署
安裝成功後,下面對Redis 進行部署
1、首先爲了方便管理,將Redis文件中的conf配置文件和常用命令移動到統一文件中
1)創建bin和redis.conf文件
複製代碼 代碼如下:
mkdir -p/usr/local/redis/bin
mkdir -p/usr/local/redis/ect
2)執行Linux文件移動命令:
複製代碼 代碼如下:
mv /lamp/redis-3.0.7/redis.conf /usr/local/redis/etc
cd /lamp/redis-3.0.7/src
mv mkreleasdhdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
2、執行Redis-server 命令,啓動Redis 服務
注意:這裏直接執行Redis-server 啓動的Redis服務,是在前臺直接運行的(效果如上圖),也就是說,執行完該命令後,如果Lunix關閉當前會話,則Redis服務也隨即關閉。正常情況下,啓動Redis服務需要從後臺啓動,並且指定啓動配置文件。
3、後臺啓動redis服務
a)首先編輯conf文件,將daemonize屬性改爲yes(表明需要在後臺運行)
cd etc/
Vi redis.conf
b)再次啓動redis服務,並指定啓動服務配置文件
redis-server /usr/local/redis/etc/redis.conf
4、服務端啓動成功後,執行redis-cli啓動Redis 客戶端,查看端口號。
四、總結Linux 、Redis 操作常用命令
Linux:
cd /usr 從子文件夾進入上級文件夾usr
cd local 從父到子
mv /A /B 將文件A移動到B
vi usr/local/redis/redis.conf 編輯redis.conf 文件
:wq 保存修改,並退出
Redis:
Redis-server /usr..../redis.conf 啓動redis服務,並指定配置文件
Redis-cli 啓動redis 客戶端
Pkill redis-server 關閉redis服務
Redis-cli shutdown 關閉redis客戶端
Netstat -tunpl|grep 6379 查看redis 默認端口號6379佔用情況
五、Redis 腳本命令
下表列出了 redis 腳本常用命令:
序號 | 命令及描述 |
---|---|
1 | EVAL script numkeys key [key …] arg [arg …] 執行 Lua 腳本。 |
2 | EVALSHA sha1 numkeys key [key …] arg [arg …] 執行 Lua 腳本。 |
3 | SCRIPT EXISTS script [script …] 查看指定的腳本是否已經被保存在緩存當中。 |
4 | SCRIPT FLUSH 從腳本緩存中移除所有腳本。 |
5 | SCRIPT KILL 殺死當前正在運行的 Lua 腳本。 |
6 | SCRIPT LOAD script 將腳本 script 添加到腳本緩存中,但並不立即執行這個腳本。 |
六、Redis 連接命令
下表列出了 redis 連接的基本命令:
序號 | 命令及描述 |
---|---|
1 | AUTH password 驗證密碼是否正確 |
2 | ECHO message 打印字符串 |
3 | PING 查看服務是否運行 |
4 | QUIT 關閉當前連接 |
5 | SELECT index 切換到指定的數據庫 |
七、Redis 服務器命令
下表列出了 redis 服務器的相關命令:
序號 | 命令及描述 |
---|---|
1 | BGREWRITEAOF 異步執行一個 AOF(AppendOnly File) 文件重寫操作 |
2 | BGSAVE 在後臺異步保存當前數據庫的數據到磁盤 |
3 | CLIENT KILL [ip:port] [ID client-id] 關閉客戶端連接 |
4 | CLIENT LIST 獲取連接到服務器的客戶端連接列表 |
5 | CLIENT GETNAME 獲取連接的名稱 |
6 | CLIENT PAUSE timeout 在指定時間內終止運行來自客戶端的命令 |
7 | CLIENT SETNAME connection-name 設置當前連接的名稱 |
8 | CLUSTER SLOTS 獲取集羣節點的映射數組 |
9 | COMMAND 獲取 Redis 命令詳情數組 |
10 | COMMAND COUNT 獲取 Redis 命令總數 |
11 | COMMAND GETKEYS 獲取給定命令的所有鍵 |
12 | TIME 返回當前服務器時間 |
13 | COMMAND INFO command-name [command-name …] 獲取指定 Redis 命令描述的數組 |
14 | CONFIG GET parameter 獲取指定配置參數的值 |
15 | CONFIG REWRITE 對啓動 Redis 服務器時所指定的 redis.conf 配置文件進行改寫 |
16 | CONFIG SET parameter value 修改 redis 配置參數,無需重啓 |
17 | CONFIG RESETSTAT 重置 INFO 命令中的某些統計數據 |
18 | DBSIZE 返回當前數據庫的 key 的數量 |
19 | DEBUG OBJECT key 獲取 key 的調試信息 |
20 | DEBUG SEGFAULT 讓 Redis 服務崩潰 |
21 | FLUSHALL 刪除所有數據庫的所有key |
22 | FLUSHDB 刪除當前數據庫的所有key |
23 | INFO [section] 獲取 Redis 服務器的各種信息和統計數值 |
24 | LASTSAVE 返回最近一次 Redis 成功將數據保存到磁盤上的時間,以 UNIX 時間戳格式表示 |
25 | MONITOR 實時打印出 Redis 服務器接收到的命令,調試用 |
26 | ROLE 返回主從實例所屬的角色 |
27 | SAVE 同步保存數據到硬盤 |
28 | SHUTDOWN [NOSAVE] [SAVE] 異步保存數據到硬盤,並關閉服務器 |
29 | SLAVEOF host port 將當前服務器轉變爲指定服務器的從屬服務器(slave server) |
30 | SLOWLOG subcommand [argument] 管理 redis 的慢日誌 |
31 | SYNC 用於複製功能(replication)的內部命令 |