第2章 Redis 的安裝與配置 2.1Redis 的安裝 2.1.1 克隆並配置主機 Redis在Linux上進行安裝,首先有配置Linux操作系統 2.1.2 安裝前的準備工作 (1) 安裝 gcc 由於 Redis 是由 C/C++語言編寫的,而從官網下載的 Redis 安裝包是需要編譯後才可 ...
2.1Redis 的安裝
2.1.1 克隆並配置主機
Redis在Linux上進行安裝,首先有配置Linux操作系統
2.1.2 安裝前的準備工作
(1) 安裝 gcc
由於 Redis 是由 C/C++語言編寫的,而從官網下載的 Redis 安裝包是需要編譯後才可安裝
的,所以對其進行編譯就必須要使用相關編譯器。對於 C/C++語言的編譯器,使用最多的是
gcc 與 gcc-c++,而這兩款編譯器在 CentOS7 中是沒有安裝的,所以首先要安裝這兩款編譯器。
GCC,GNU Compiler Collection,GNU 編譯器集合。
(2) 下載 Redis
版本要是Linux版本
redis 的官網為: http://redis.io。點擊下麵的鏈接可以直接進行下載。 (因為該網站是外網,需要魔法一下)
(3) 上傳到 Linux
將下載好的壓縮包上傳到 Linux 的/opt/tools 目錄中。
(註釋:沒有這個目錄可以自己創建一個,這些是Linux基礎命令)
2.1.3 安裝 Redis
(1) 解壓 Redis
將 Redis 解壓到/opt/apps 目錄中。
進入到/opt/apps 目錄中再將 Redis 解壓包目錄更名為 redis(不更名也無所謂)。
(2) 編譯
編譯過程是根據 Makefile 文件進行的,而 Redis 解壓包中已經存在該文件了。所以可以
直接進行編譯了
進入到解壓目錄中,然後執行編譯命令 make。
當看到如下提示時,表示編譯成功。
(3) 安裝
在 Linux 中對於編譯過的安裝包執行 make install 進行安裝
可以看到,共安裝了三個組件:redis 伺服器、客戶端與一個性能測試工具 benchmark。
(4) 查看 bin 目錄
安裝完成後,打開/usr/local/bin 目錄,可以看到出現了很多的文件。
通過 echo $PATH 可以看到,/usr/local/bin 目錄是存在於該系統變數中的,這樣這些命令就可以在任意目錄中執行了。 (環境變數)
2.1.4 Redis 啟動與停止
(1) 前臺啟動
在任意目錄執行 redis-server 命令即可啟動 Redis。這種啟動方式會占用當前命令行視窗。
到這裡Redis已經啟動成功了 下麵是Redis啟動時的一些配置。
再開啟一個會話視窗,可以查看到當前的 Redis 進程,預設埠號為 6379。
通過 Ctrl + C 命令可以停止 Redis。
(2) 命令式後臺啟動
使用 nohub 命令,最後再添加一個&符,可以使要啟動的程式在後臺以守護進程方式運
行。這樣的好處是,進程啟動後不會占用一個會話視窗,且其還會在當前目錄,即運行啟動
命令的當前目錄中創建一個 nohup.out 文件用於記錄 Redis 的操作日誌。
(3) Redis 的停止
通過 redis-cli shutdown 命令可以停止 Redis。
(4) 配置式後臺啟動
使用 nohup 命令可以使 Redis 後臺啟動,但每次都要鍵入 nohup 與&符,比較麻煩。可
以通過修改 Linux 中 Redis 的核心配置文件 redis.conf 達到後臺啟動的目的。redis.conf 文件在
Redis 的安裝目錄根下
將 daemonize 屬性值由 no 改為 yes,使 Redis 進程以守護進程方式運行。
修改後再啟動 Redis,就無需再鍵入 nohup 與&符了,但必須要指定啟動所使用的 Redis
配置文件。這是為什麼呢?
使用 nohup redis-server &命令啟動 Redis 時,啟動項中已經設置好了 Redis 各個參數的
預設值,Redis 會按照這些設置的參數進行啟動。但這些參數是可以在配置文件中進行修改
的,修改後,需要在啟動命令中指定要載入的配置文件,這樣,配置文件中的參數值將覆蓋
原預設值。
Redis 已經給我們提供好了配置文件模板,是 Redis 安裝目錄的根目錄下的 redis.conf 文
件。由於剛剛對 redis.conf 配置文件做了修改,所以在開啟 Redis 時需要顯示指出要載入的
配置文件。配置文件應緊跟在 redis-server 的後面。
2.2連接前的配置
Redis 是一個記憶體資料庫伺服器,就像 MySQL 一樣,對其操作也需要通過客戶端進行。
若要使遠程主機上的客戶端能夠連接並訪問到服務端的 Redis,則服務端首先要做如下配置。
2.2.1 綁定客戶端 IP
Redis 可以通過修改配置文件來限定可以訪問自己的客戶端 IP。
以上設置後,只允許當前主機訪問當前的 Redis,其它主機均不可訪問。所以,如果不
想限定訪問的客戶端,只需要將該行註釋掉即可。
2.2.2 關閉保護模式
預設保護模式是開啟的。其只允許本機的客戶端訪問,即只允許自己訪問自己。但生產
中應該關閉,以確保其它客戶端可以連接 Redis。
2.2.3 設置訪問密碼
為 Redis 設置訪問密碼,可以對要讀/寫 Redis 的用戶進行身份驗證。沒有密碼的用戶可
以登錄 Redis,但無法訪問。
(1) 密碼設置
訪問密碼的設置位置在 redis.conf 配置文件中。預設是被註釋掉的,沒有密碼
沒有通過密碼登錄的用戶,無法讀/寫 Redis。
(2) 使用密碼
對於密碼的使用,有兩種方式:登錄時未使用密碼,則訪問時先輸入密碼;登錄時直接
使用密碼登錄,訪問時無需再輸入密碼。
A**、登錄時未使用密碼**
B**、 登錄時使用密碼**
C**、 退出時使用密碼**
(3) 註意
為了方便後面的學習,我們這裡就不設置訪問密碼了,直接將其註釋掉即可
2.2.4 禁止/重命名命令
後面要學習兩個非常危險的命令:flushal 與 flushdb。它們都是用於直接刪除整個 Redis
資料庫的。若讓用戶可以隨便使用它們,可能會危及數據安全。Redis 可以通過修改配置文
件來禁止使用這些命令,或重命名這些命令。以下配置,禁用了 flushall 與 flushdb 命令。
當然,在學習過程中暫時不禁用它們
2.2.5 啟動 Redis
當然,若要使客戶端能夠連接 Redis,則必須開啟服務端的 Redis。
2.3Redis 客戶端分類
Redis 客戶端也像 MySQL 客戶端一樣有多種類型:命令行客戶端、圖形界面客戶端、Java
代碼客戶端。
2.3.1 命令行客戶端
Redis 提供了基本的命令行客戶端。打開命令行客戶端的命令為 redis-cli。
2.3.2 圖形界面客戶端
(1) Redis Desktop Manager
Redis 的圖形界面客戶端很多,其中較出名的是 Redis Desktop Manager 的客戶端。不過,
該軟體原來是免費軟體,從 0.8.8 版本後變為了商業化收費軟體。
官網為:https://resp.app/(原來是 http://redisdesktop.com)。
2.3.3 Java 代碼客戶端
碼客戶端其實就是一個或多個 Jar 包,提供了對 Redis 的操作介面。
對 Redis 操作的 API 很多,例如 jdbc-redis、jredis 等,但最常用也是最有名的是 Jedis。
下麵用圖形界面客戶端連接Redis服務端: