Linux下Redis安裝配置教程
redis作為NoSQL數(shù)據(jù)庫的一種應(yīng)用,響應(yīng)速度和命中率上還是比較高效的。項目中需要用集中式可橫向擴展的緩存框架,做了一點調(diào)研,即便redis、memcached存在效率上的差異(具體比較參考http://timyang.net/data/mcdb-tt-redis/),但其實都能滿足目前項目的需求;但是redis還是比較風(fēng)騷的,支持鏈表和集合操作,支持正則表達(dá)式查找key,目前項目緩存的結(jié)果大多是鏈表,如果鏈表新增或者修改數(shù)據(jù)的話,redis就體現(xiàn)出了極大的優(yōu)勢(memcached只能重新加載鏈表,redis可以對鏈表新增或者修改)
1、下載redis
下載地址 http://code.google.com/p/redis/downloads/list
推薦下載redis-1.2.6.tar.gz,之前這個版本同事已經(jīng)有成功安裝運行的經(jīng)驗,redis-2.0.4.tar.gz 這個版本我安裝后無法操作緩存數(shù)據(jù),具體原因后續(xù)再說
2、安裝redis
下載后解壓 tar zxvf redis-1.2.6.tar.gz 到任意目錄,例如/usr/local/redis-1.2.6
解壓后,進入redis目錄
cd /usr/local/redis-1.2.6 make
拷貝文件
cp redis.conf /etc/ 這個文件時redis啟動的配置文件
cp redis-benchmark redis-cli redis-server /usr/bin/ #這個倒是很有用,這樣就不用再執(zhí)行時加上./了,而且可以在任何地方執(zhí)行
設(shè)置內(nèi)存分配策略(可選,根據(jù)服務(wù)器的實際情況進行設(shè)置)
/proc/sys/vm/overcommit_memory
可選值:0、1、2。
0, 表示內(nèi)核將檢查是否有足夠的可用內(nèi)存供應(yīng)用進程使用;如果有足夠的可用內(nèi)存,內(nèi)存申請允許;否則,內(nèi)存申請失敗,并把錯誤返回給應(yīng)用進程。
1, 表示內(nèi)核允許分配所有的物理內(nèi)存,而不管當(dāng)前的內(nèi)存狀態(tài)如何。
2, 表示內(nèi)核允許分配超過所有物理內(nèi)存和交換空間總和的內(nèi)存
值得注意的一點是,redis在dump數(shù)據(jù)的時候,會fork出一個子進程,理論上child進程所占用的內(nèi)存和parent是一樣的,比如parent占用的內(nèi)存為8G,這個時候也要同樣分配8G的內(nèi)存給child,如果內(nèi)存無法負(fù)擔(dān),往往會造成redis服務(wù)器的down機或者IO負(fù)載過高,效率下降。所以這里比較優(yōu)化的內(nèi)存分配策略應(yīng)該設(shè)置為 1(表示內(nèi)核允許分配所有的物理內(nèi)存,而不管當(dāng)前的內(nèi)存狀態(tài)如何)
開啟redis端口,修改防火墻配置文件
vi /etc/sysconfig/iptables
加入端口配置
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
重新加載規(guī)則
service iptables restart
3、啟動redis服務(wù)
[root@Architect redis-1.2.6]# pwd /usr/local/redis-1.2.6 [root@Architect redis-1.2.6]# redis-server /etc/redis.conf
查看進程,確認(rèn)redis已經(jīng)啟動
[root@Architect redis-1.2.6]# ps -ef | grep redis root 401 29222 0 18:06 pts/3 00:00:00 grep redis root 29258 1 0 16:23 ? 00:00:00 redis-server /etc/redis.conf
如果這里啟動redis服務(wù)失敗,一般情況下是因為redis.conf文件有問題,建議檢查或找個可用的配置文件進行覆蓋,避免少走彎路,這里建議,修改redis.conf,設(shè)置redis進程為后臺守護進程
# By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. daemonize yes
4、測試redis
[root@Architect redis-1.2.6]# redis-cli redis> set name songbin OK redis> get name "songbin"
5、關(guān)閉redis服務(wù)
redis-cli shutdown
redis服務(wù)關(guān)閉后,緩存數(shù)據(jù)會自動dump到硬盤上,硬盤地址為redis.conf中的配置項dbfilename dump.rdb所設(shè)定
強制備份數(shù)據(jù)到磁盤,使用如下命令
redis-cli save 或者 redis-cli -p 6380 save(指定端口)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Linux下Redis的安裝和部署
- CentOS Linux系統(tǒng)下安裝Redis過程和配置參數(shù)說明
- 詳解linux下redis安裝、啟動與停止,redis做成服務(wù)
- Linux下php安裝Redis擴展的方法
- Linux下Redis安裝教程詳解
- PHP7安裝Redis擴展教程【Linux與Windows平臺】
- Linux下Redis數(shù)據(jù)庫的安裝方法與自動啟動腳本分享
- Linux下 php7安裝redis的方法
- Linux系統(tǒng)安裝NoSQL(MongoDB和Redis)步驟及問題解決辦法(總結(jié)篇)
- Linux平臺安裝redis及redis擴展的方法
- Linux下redis的安裝與使用圖文教程
相關(guān)文章
詳解Redis中key的命名規(guī)范和值的命名規(guī)范
這篇文章主要介紹了詳解Redis中key的命名規(guī)范和值的命名規(guī)范,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12微服務(wù)Spring Boot 整合 Redis 實現(xiàn)好友關(guān)注功能
這篇文章主要介紹了微服務(wù)Spring Boot 整合 Redis 實現(xiàn) 好友關(guān)注,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-12-12Redis使用bloom-filter過濾器實現(xiàn)推薦去重
這篇文章主要介紹了Redis使用bloom-filter過濾器實現(xiàn)推薦去重,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11Redis中Bloom filter布隆過濾器的學(xué)習(xí)
布隆過濾器是一個非常長的二進制向量和一系列隨機哈希函數(shù)的組合,可用于檢索一個元素是否存在,本文就詳細(xì)的介紹一下Bloom filter布隆過濾器,具有一定的參考價值,感興趣的可以了解一下2022-12-12在Centos?8.0中安裝Redis服務(wù)器的教程詳解
由于考慮到linux服務(wù)器的性能,所以經(jīng)常需要把一些中間件安裝在linux服務(wù)上,今天通過本文給大家介紹下在Centos?8.0中安裝Redis服務(wù)器的詳細(xì)過程,感興趣的朋友一起看看吧2022-03-03