Linux安裝單機版Redis的完整步驟
前言
redis是當前比較熱門的NOSQL系統(tǒng)之一,它是一個key-value存儲系統(tǒng)。和Memcached類似,但很大程度補償了 memcached的不足,它支持存儲的value類型相對更多,包括string、list、set、zset和hash。這些數(shù)據(jù)類型都支持 push/pop、add/remove及取交集并集和差集及更豐富的操作。在此基礎上,redis支持各種不同方式的排序。Redis數(shù)據(jù)都是緩存在計算機內(nèi)存中,并且會周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件。
最近在遷移測試環(huán)境,有用到Redis,記錄下linux安裝單機版Redis的過程,下面話不多說了,來一起看看詳細的介紹吧
驗證gcc-c++環(huán)境
redis使用c語言開發(fā),所以要運行在linux上,需要gcc-c++的環(huán)境。
檢查是否有gcc-c++環(huán)境:
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已經(jīng)正常啟動,但是在終端會顯示啟動內(nèi)容,如果不希望顯示的話,可以修改下配置。
首先去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 //創(chuàng)建database的數(shù)量(默認選中的是database 0) save 900 1 #刷新快照到硬盤中,必須滿足兩者要求才會觸發(fā),即900秒之后至少1個關鍵字發(fā)生變化。 save 300 10 #必須是300秒之后至少10個關鍵字發(fā)生變化。 save 60 10000 #必須是60秒之后至少10000個關鍵字發(fā)生變化。 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中,選擇優(yōu)先值最小的一個slave提升為master,優(yōu)先值為0表示不能提升為master。 repl-disable-tcp-nodelay no #主端是否合并數(shù)據(jù),大塊發(fā)送給slave slave-priority 100 //從服務器的優(yōu)先級,當主服掛了,會自動挑slave priority最小的為主服 #安全 requirepass foobared # 需要密碼 rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 #如果公共環(huán)境,可以重命名部分敏感命令 如config #限制 maxclients 10000 #最大連接數(shù) maxmemory <bytes> #最大使用內(nèi)存 maxmemory-policy volatile-lru #內(nèi)存到極限后的處理 volatile-lru -> #LRU算法刪除過期key allkeys-lru -> #LRU算法刪除key(不區(qū)分過不過期) volatile-random -> #隨機刪除過期key allkeys-random -> #隨機刪除key(不區(qū)分過不過期) volatile-ttl -> #刪除快過期的key noeviction -> #不刪除,返回錯誤信息 #解釋 LRU ttl都是近似算法,可以選N個,再比較最適宜T踢出的數(shù)據(jù) maxmemory-samples 3 #日志模式 appendonly no #是否僅要日志 appendfsync no # 系統(tǒng)緩沖,統(tǒng)一寫,速度快 appendfsync always # 系統(tǒng)不緩沖,直接寫,慢,丟失數(shù)據(jù)少 appendfsync everysec #折衷,每秒寫1次 no-appendfsync-on-rewrite no #為yes,則其他線程的數(shù)據(jù)放內(nèi)存里,合并寫入(速度快,容易丟失的多) 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的數(shù)量 bgrewriteaof #重寫aof bgsave #后臺開啟子進程dump數(shù)據(jù) save #阻塞進程dump數(shù)據(jù) slaveof host port #做host port的從服務器(數(shù)據(jù)清空,復制新主內(nèi)容) slaveof no one #變成主服務器(原數(shù)據(jù)不丟失,一般用于主服失敗后) flushdb #清空當前數(shù)據(jù)庫的所有數(shù)據(jù) flushall #清空所有數(shù)據(jù)庫的所有數(shù)據(jù)(誤用了怎么辦?) shutdown [save/nosave] #關閉服務器,保存數(shù)據(jù),修改AOF(如果設置) slowlog get #獲取慢查詢?nèi)罩? slowlog len #獲取慢查詢?nèi)罩緱l數(shù) slowlog reset #清空慢查詢 config get #選項(支持*通配) config set #選項 值 config rewrite #把值寫到配置文件 config restart #更新info命令的信息 debug object key #調(diào)試選項,看一個key的情況 debug segfault #模擬段錯誤,讓服務器崩潰 object key (refcount|encoding|idletime) monitor #打開控制臺,觀察命令(調(diào)試用) client list #列出所有連接 client kill #殺死某個連接 CLIENT KILL 127.0.0.1:43501 client getname #獲取連接的名稱 默認nil client setname "名稱" #設置連接名稱,便于調(diào)試 #連接命令 auth 密碼 #密碼登陸(如果有密碼) ping #測試服務器是否可用 echo "some content" #測試服務器是否正常交互 select 0/1/2... #選擇數(shù)據(jù)庫 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 //在里面添加內(nèi)容:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf (意思就是開機調(diào)用這段開啟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解壓文件夾
好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
Java Socket實現(xiàn)Redis客戶端的詳細說明
socket編程是一門技術,它主要是在網(wǎng)絡通信中經(jīng)常用到.這篇文章主要介紹了如何用Java Socket實現(xiàn)一個簡單的Redis客戶端,需要的朋友可以參考下2021-05-05Redis Template實現(xiàn)分布式鎖的實例代碼
使用Redis的SETNX命令獲取分布式鎖的步驟,接下來通過本文給大家介紹Redis Template實現(xiàn)分布式鎖的實例代碼,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2018-09-09