前言
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++環境:
如果沒有進行安裝:
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條
#服務端命令
time #返回時間戳+微秒
dbsize #返回key的數量
bgrewriteaof #重寫aof
bgsave #后臺開啟子進程dump數據
save #阻塞進程dump數據
slaveof host port #做host port的從服務器(數據清空,復制新主內容)
slaveof no one #變成主服務器(原數據不丟失,一般用于主服失敗后)
flushdb #清空當前數據庫的所有數據
flushall #清空所有數據庫的所有數據(誤用了怎么辦?)
shutdown [save/nosave] #關閉服務器,保存數據,修改AOF(如果設置)
slowlog get #獲取慢查詢日志
slowlog len #獲取慢查詢日志條數
slowlog reset #清空慢查詢
config get #選項(支持*通配)
config set #選項 值
config rewrite #把值寫到配置文件
config restart #更新info命令的信息
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環境部署及docker安裝redis的方法
- Linux下redis的安裝與使用圖文教程
- Linux下Redis安裝教程詳解
- Linux下Redis安裝使用教程
- Linux Redis 的安裝步驟詳解
- Redis概述及linux安裝redis的詳細教程