共計 4243 個字符,預計需要花費 11 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章將為大家詳細講解有關 Linux 如何安裝單機版 Redis,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
前言
redis 是當前比較熱門的 NOSQL 系統之一,它是一個 key-value 存儲系統。和 Memcached 類似,但很大程度補償了 memcached 的不足,它支持存儲的 value 類型相對更多,包括 string、list、set、zset 和 hash。這些數據類型都支持 push/pop、add/remove 及取交集并集和差集及更豐富的操作。在此基礎上,redis 支持各種不同方式的排序。Redis 數據都是緩存在計算機內存中,并且會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件。
最近在遷移測試環境,有用到 Redis,記錄下 linux 安裝單機版 Redis 的過程,下面話不多說了,來一起看看詳細的介紹吧
驗證 gcc-c++ 環境
redis 使用 c 語言開發,所以要運行在 linux 上,需要 gcc-c++ 的環境。
檢查是否有 gcc-c++ 環境:
rpm -qa | grep gcc-c++
如果沒有進行安裝:
yum install gcc-c++
yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tcl
安裝 Redis
首先下載安裝包:
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
然后解壓至指定目錄:
tar -zxvf redis-4.0.10.tar.gz -C /usr/local/
進入到解壓后的目錄之后進行編譯:
cd /usr/local/redis-4.0.10
make
編譯成功后進行安裝,設置安裝路徑:
make install PREFIX=/usr/local/redis
安裝完成后就可以到對應的目錄下啟動:
cd /usr/local/redis/bin
./redis-server
順利的話,redis 已經正常啟動,但是在終端會顯示啟動內容,如果不希望顯示的話,可以修改下配置。
首先去 copy 安裝包中的 redis.conf
cp /root/redis-4.0.10/redis.conf /usr/local/redis
然后打開配置文件,將文件中的 daemonize 設置為 yes。
vi redis.conf 之后進行編輯,如下截圖:
然后帶著配置項啟動即可:
./redis-server redis.conf
驗證與操作
redis 安裝完之后,我們校驗下是否正常。
首先我們啟動測試端:./redis-cli, 然后進行一些簡單的操作,如下截圖:
配置說明
## 基本配置
daemonize no // 是否以后臺進程啟動
databases 16 // 創建 database 的數量 (默認選中的是 database 0)
save 900 1 # 刷新快照到硬盤中,必須滿足兩者要求才會觸發,即 900 秒之后至少 1 個關鍵字發生變化。save 300 10 # 必須是 300 秒之后至少 10 個關鍵字發生變化。save 60 10000 # 必須是 60 秒之后至少 10000 個關鍵字發生變化。stop-writes-on-bgsave-error yes # 后臺存儲錯誤停止寫。rdbcompression yes # 使用 LZF 壓縮 rdb 文件。rdbchecksum yes # 存儲和加載 rdb 文件時校驗。dbfilename dump.rdb # 設置 rdb 文件名。dir ./ # 設置工作目錄,rdb 文件會寫入該目錄。
// 主從配置
slaveof masterip masterport // 設為某臺機器的從服務器
masterauth master-password // 連接主服務器的密碼
slave-serve-stale-data yes # 當主從斷開或正在復制中, 從服務器是否應答
slave-read-only yes # 從服務器只讀
repl-ping-slave-period 10 # 從 ping 主的時間間隔, 秒為單位
repl-timeout 60 # 主從超時時間 (超時認為斷線了), 要比 period 大
slave-priority 100 # 如果 master 不能再正常工作,那么會在多個 slave 中,選擇優先值最小的一個 slave 提升為 master,優先值為 0 表示不能提升為 master。repl-disable-tcp-nodelay no # 主端是否合并數據, 大塊發送給 slave
slave-priority 100 // 從服務器的優先級, 當主服掛了, 會自動挑 slave priority 最小的為主服
requirepass foobared # 需要密碼
rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 # 如果公共環境, 可以重命名部分敏感命令 如 config
maxclients 10000 # 最大連接數
maxmemory bytes # 最大使用內存
maxmemory-policy volatile-lru # 內存到極限后的處理
volatile-lru - #LRU 算法刪除過期 key
allkeys-lru - #LRU 算法刪除 key(不區分過不過期)
volatile-random - # 隨機刪除過期 key
allkeys-random - # 隨機刪除 key(不區分過不過期)
volatile-ttl - # 刪除快過期的 key
noeviction - # 不刪除, 返回錯誤信息
#解釋 LRU ttl 都是近似算法, 可以選 N 個, 再比較最適宜 T 踢出的數據
maxmemory-samples 3
#日志模式
appendonly no # 是否僅要日志
appendfsync no # 系統緩沖, 統一寫, 速度快
appendfsync always # 系統不緩沖, 直接寫, 慢, 丟失數據少
appendfsync everysec # 折衷, 每秒寫 1 次
no-appendfsync-on-rewrite no # 為 yes, 則其他線程的數據放內存里, 合并寫入 (速度快, 容易丟失的多)
auto-AOF-rewrite-percentage 100 # 當前 aof 文件是上次重寫是大 N% 時重寫
auto-AOF-rewrite-min-size 64mb #aof 重寫至少要達到的大小
slowlog-log-slower-than 10000 # 記錄響應時間大于 10000 微秒的慢查詢
slowlog-max-len 128 # 最多記錄 128 條
slaveof host port # 做 host port 的從服務器 (數據清空, 復制新主內容)
slaveof no one # 變成主服務器 (原數據不丟失, 一般用于主服失敗后)
flushdb # 清空當前數據庫的所有數據
flushall # 清空所有數據庫的所有數據 (誤用了怎么辦?)
shutdown [save/nosave] # 關閉服務器, 保存數據, 修改 AOF(如果設置)
slowlog get # 獲取慢查詢日志
slowlog len # 獲取慢查詢日志條數
slowlog reset # 清空慢查詢
debug object key # 調試選項, 看一個 key 的情況
debug segfault # 模擬段錯誤, 讓服務器崩潰
object key (refcount|encoding|idletime)
monitor # 打開控制臺, 觀察命令 (調試用)
client list # 列出所有連接
client kill # 殺死某個連接 CLIENT KILL 127.0.0.1:43501
client getname # 獲取連接的名稱 默認 nil
client setname 名稱 # 設置連接名稱, 便于調試
#連接命令
auth 密碼 # 密碼登陸 (如果有密碼)
ping # 測試服務器是否可用
echo some content # 測試服務器是否正常交互
select 0/1/2... # 選擇數據庫
quit # 退出連接
總結
搭建 redis 還是比較簡單的,有興趣的小伙伴可以親自試驗下,下次再嘗試下搭個 redis 集群。
補充資料
安裝:
1. 獲取 redis 資源
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
2. 解壓
tar xzvf redis-4.0.8.tar.gz
3. 安裝
cd redis-4.0.8
make
cd src
make install PREFIX=/usr/local/redis
4. 移動配置文件到安裝目錄下
cd ../
mkdir /usr/local/redis/etc
mv redis.conf /usr/local/redis/etc
5. 配置 redis 為后臺啟動
vi /usr/local/redis/etc/redis.conf // 將 daemonize no 改成 daemonize yes
6. 將 redis 加入到開機啟動
vi /etc/rc.local // 在里面添加內容:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf (意思就是開機調用這段開啟 redis 的命令)
7. 開啟 redis
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
常用命令
redis-server /usr/local/redis/etc/redis.conf // 啟動 redis
pkill redis // 停止 redis
卸載 redis:
rm -rf /usr/local/redis // 刪除安裝目錄
rm -rf /usr/bin/redis-* // 刪除所有 redis 相關命令腳本
rm -rf /root/download/redis-4.0.4 // 刪除 redis 解壓文件夾
關于“Linux 如何安裝單機版 Redis”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
向 AI 問一下細節