Redis(4.0.6)在Linux(CentOS7)下的安裝

構(gòu)建 Redis

redis 目前沒有官方 RPM 安裝包摧玫,需要從源代碼編譯辽慕,編譯需要安裝 Make 和 GCC寒瓦。

yum install gcc make

官網(wǎng)下載 tar 壓縮包逛拱。

curl http://download.redis.io/releases/redis-4.0.6.tar.gz

(這種方式下載下來(lái)的包啊研,解壓的時(shí)候提示gzip:stdin:not in gzip format,網(wǎng)上查找解決方法裙戏,說重命名壓縮包乘凸,去掉.gz就好了。結(jié)果不行累榜。解決方法:直接從上邊的地址下載壓縮包营勤,然后拷貝到Linux下灵嫌,然后解壓就可以了。)

解壓縮

備注:linux下輸入命令的輔助提示Tab鍵葛作,可以在敲入一部分命令后寿羞,Tab一下剥扣,后邊的自動(dòng)出來(lái)打厘。

tar zxvf redis-4.0.6.tar.gz

cd redis-4.0.6

make

安裝

cd src

復(fù)制 Redis 的服務(wù)器和客戶端到 /usr/local/bin。

cp redis-server redis-cli /usr/local/bin

把 sentinel蓖扑,benchmark 和 check 復(fù)制過去虱岂。

cp redis-sentinel redis-benchmark redis-check-aof /usr/local/bin

創(chuàng)建redis 配置文件夾

mkdir /etc/redis

在/var/lib/redis 下創(chuàng)建有效的保存數(shù)據(jù)的目錄

mkdir -p /var/lib/redis/6379

系統(tǒng)參數(shù)

為了讓 redis 正常工作需要配置一些內(nèi)核參數(shù)玖院。

配置 vm.overcommit_memory 為1,這可以避免數(shù)據(jù)被截?cái)唷?/p>

sysctl -w vm.overcommit_memory=1

修改 backlog 連接數(shù)的最大值超過 redis.conf 中的 tcp-backlog 值第岖,即默認(rèn)值511难菌。

sysctl -w net.core.somaxconn=512

取消對(duì)透明巨頁(yè)內(nèi)存(transparent huge pages)的支持,因?yàn)檫@會(huì)造成 redis 使用過程產(chǎn)生延時(shí)和內(nèi)存訪問問題蔑滓。

echo never >/sys/kernel/mm/transparent_hugepage/enabled

redis.conf

redis.conf 是 redis 的配置文件郊酒,然而你會(huì)看到這個(gè)文件的名字是 6379.conf ,而這個(gè)數(shù)字就是 redis 監(jiān)聽的網(wǎng)絡(luò)端口键袱。如果你想要運(yùn)行超過一個(gè)的 redis 實(shí)例燎窘,推薦用這樣的名字。

復(fù)制示例的 redis.conf 到/etc/redis/6379.conf蹄咖。

cp redis.conf /etc/redis/6379.conf

現(xiàn)在編輯這個(gè)文件并且配置參數(shù)褐健。

vi /etc/redis/6379.conf (也可以通過WinSCP可視化修改)

daemonize

設(shè)置 daemonize 為 no,systemd 需要它運(yùn)行在前臺(tái)比藻,否則 redis 會(huì)突然掛掉铝量。

daemonize no

pidfile

設(shè)置 pidfile 為 /var/run/redis_6379.pid。

pidfile /var/run/redis_6379.pid

port

如果不準(zhǔn)備用默認(rèn)端口银亲,可以修改慢叨。

port 6379

loglevel

設(shè)置日志級(jí)別。

loglevel notice

logfile

修改日志文件路徑务蝠。

logfile /var/log/redis_6379.log

dir

設(shè)置目錄為 /var/lib/redis/6379

dir /var/lib/redis/6379

requirepass

你可能需要遠(yuǎn)程訪問拍谐,如果是,那么你應(yīng)該設(shè)置密碼馏段,這樣子每次操作之前要求輸入密碼轩拨。

requirepass password

快照

默認(rèn)情況下,redis 會(huì)周期性的將數(shù)據(jù)集轉(zhuǎn)儲(chǔ)到我們?cè)O(shè)置的目錄下的dump.rdb文件院喜。你可以使用 save 命令配置轉(zhuǎn)儲(chǔ)的頻率亡蓉,它的第一個(gè)參數(shù)是以秒為單位的時(shí)間幀,第二個(gè)參數(shù)是在數(shù)據(jù)文件上進(jìn)行修改的數(shù)量喷舀。

每隔15分鐘并且最少修改過一次鍵砍濒。

save 900 1

每隔5分鐘并且最少修改過10次鍵淋肾。

save 300 10

每隔1分鐘并且最少修改過10000次鍵。

save 60 10000

文件 /var/lib/redis/6379/dump.rdb 包含了從上次保存以來(lái)內(nèi)存里數(shù)據(jù)集的轉(zhuǎn)儲(chǔ)數(shù)據(jù)爸邢。因?yàn)樗葎?chuàng)建臨時(shí)文件然后替換之前的轉(zhuǎn)儲(chǔ)文件樊卓,這里不存在數(shù)據(jù)破壞的問題,你不用擔(dān)心杠河,可以直接復(fù)制這個(gè)文件碌尔。

開機(jī)時(shí)啟動(dòng)

你可以使用 systemd 將 redis 添加到系統(tǒng)開機(jī)啟動(dòng)列表。

復(fù)制示例的 init_script 文件到 /etc/init.d券敌,注意腳本名所代表的端口號(hào)唾戚。

cp utils/redis_init_script /etc/init.d/redis_6379

現(xiàn)在我們要使用 systemd,所以在 /etc/systems/system 下創(chuàng)建一個(gè)單位文件名字為 redis_6379.service待诅。

vi /etc/systemd/system/redis_6379.service

[Unit]

Description=Redis on port 6379

[Service]

Type=forking

ExecStart=/etc/init.d/redis_6379 start

ExecStop=/etc/init.d/redis_6379 stop

[Install]

WantedBy=multi-user.target

現(xiàn)在添加我之前在 /etc/sysctl.conf 里面修改過的內(nèi)存過量使用和 backlog 最大值的選項(xiàng)颈走。

vm.overcommit_memory = 1

net.core.somaxconn=512

對(duì)于透明巨頁(yè)內(nèi)存支持,并沒有直接 sysctl 命令可以控制咱士,所以需要將下面的命令放到 /etc/rc.local 的結(jié)尾。

echo never >/sys/kernel/mm/transparent_hugepage/enabled


備注:參考了https://www.cnblogs.com/bincoding/p/6165506.html 這篇文章轧钓,結(jié)合自己操作中遇到的問題序厉,加了備注。

打開一個(gè)窗口毕箍,嘗試運(yùn)行服務(wù)端:sudo ./redis-server /etc/redis/6379.conf

或者直接運(yùn)行 redis-server

打開另一個(gè)窗口弛房,嘗試運(yùn)行客戶端:./redis-cli

因?yàn)樾枰?yàn)證身份,輸入auth password,驗(yàn)證通過后而柑,嘗試設(shè)置key-value

set foo bar

get foo? ?輸出"bar"說明安裝成功文捶,運(yùn)行成功!

備注:運(yùn)行各種命令時(shí)候提示權(quán)限不足時(shí)媒咳,用sudo來(lái)運(yùn)行粹排。

查看redis運(yùn)行狀態(tài):ps aux|grep redis

關(guān)閉redis server端(比如修改redis遠(yuǎn)程登錄密碼后,需要重啟redisserver涩澡,先停止顽耳,再啟動(dòng)):kill -9 PID

然后,啟動(dòng)redis服務(wù)端? redis-server /etc/redis/6379.conf

啟動(dòng)redis客戶端:redis-cli 妙同,如果開啟了遠(yuǎn)程使用需要密碼(requirepass),需要輸入auth password 來(lái)登錄

使用redis時(shí)候射富,可能在server黑屏下看到,過了一會(huì)兒server端準(zhǔn)備把內(nèi)存中的數(shù)據(jù)寫入到dump.rdb文件粥帚,但是權(quán)限拒絕胰耗。方法:給redis目錄權(quán)限:sudo chmod 777 redis

新建rdb文件:touch dump.rdb 賦權(quán)限:sudo chmod 777 dump.rdb

c# 客戶端使用csredis連接redis服務(wù)端,一直都提示“連接超時(shí)”芒涡,開始以為是代碼:
using (var redis=new RedisClient("host"))這句話沒加端口導(dǎo)致的柴灯,結(jié)果卖漫,加了6379端口也不起作用,最后發(fā)現(xiàn)弛槐,即使不加6379懊亡,代碼也默認(rèn)用這個(gè)端口,和這個(gè)無(wú)關(guān)乎串。又懷疑redis沒有開啟遠(yuǎn)程訪問店枣,于是,上網(wǎng)找資料叹誉,說要將6379.conf文件中的bind 127.0.0.1 注釋掉鸯两,并且把protected-mode 改為false,結(jié)果嘗試后還是失敗长豁。最后钧唐,懷疑防火墻的問題,于是匠襟,開發(fā)6379端口給所有用戶:

>>>?開啟端口

firewall-cmd --zone=public --add-port=6379/tcp --permanent

然后钝侠,重啟防火墻:firewall-cmd --reload

再次,重啟redis服務(wù)酸舍,這次發(fā)現(xiàn)c#客戶端訪問已經(jīng)成功帅韧!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市啃勉,隨后出現(xiàn)的幾起案子忽舟,更是在濱河造成了極大的恐慌,老刑警劉巖淮阐,帶你破解...
    沈念sama閱讀 211,348評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叮阅,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡泣特,警方通過查閱死者的電腦和手機(jī)浩姥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)状您,“玉大人及刻,你說我怎么就攤上這事【翰” “怎么了缴饭?”我有些...
    開封第一講書人閱讀 156,936評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)骆莹。 經(jīng)常有香客問我颗搂,道長(zhǎng),這世上最難降的妖魔是什么幕垦? 我笑而不...
    開封第一講書人閱讀 56,427評(píng)論 1 283
  • 正文 為了忘掉前任丢氢,我火速辦了婚禮傅联,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘疚察。我一直安慰自己蒸走,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評(píng)論 6 385
  • 文/花漫 我一把揭開白布貌嫡。 她就那樣靜靜地躺著比驻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪岛抄。 梳的紋絲不亂的頭發(fā)上别惦,一...
    開封第一講書人閱讀 49,785評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音夫椭,去河邊找鬼掸掸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蹭秋,可吹牛的內(nèi)容都是我干的扰付。 我是一名探鬼主播,決...
    沈念sama閱讀 38,931評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼仁讨,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼悯周!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起陪竿,我...
    開封第一講書人閱讀 37,696評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎屠橄,沒想到半個(gè)月后族跛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,141評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锐墙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評(píng)論 2 327
  • 正文 我和宋清朗相戀三年礁哄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片溪北。...
    茶點(diǎn)故事閱讀 38,625評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡桐绒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出之拨,到底是詐尸還是另有隱情茉继,我是刑警寧澤,帶...
    沈念sama閱讀 34,291評(píng)論 4 329
  • 正文 年R本政府宣布蚀乔,位于F島的核電站烁竭,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏吉挣。R本人自食惡果不足惜派撕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評(píng)論 3 312
  • 文/蒙蒙 一婉弹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧终吼,春花似錦镀赌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至垫卤,卻和暖如春威彰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背穴肘。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工歇盼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人评抚。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓豹缀,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親慨代。 傳聞我的和親對(duì)象是個(gè)殘疾皇子邢笙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Redis 服務(wù)器 Redis 是一個(gè)開源的多平臺(tái)數(shù)據(jù)存儲(chǔ)軟件,使用 ANSI C 編寫侍匙,直接在內(nèi)存使用數(shù)據(jù)集氮惯,這...
    優(yōu)雅的豬閱讀 64,509評(píng)論 2 1
  • Redis是一個(gè)開源的想暗、支持網(wǎng)絡(luò)妇汗、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫(kù),在高并發(fā)的應(yīng)用系統(tǒng)中有很...
    咸魚Ash閱讀 7,070評(píng)論 1 5
  • Redis簡(jiǎn)介 Redis 是完全開源免費(fèi)的说莫,遵守BSD協(xié)議,是一個(gè)高性能的key-value數(shù)據(jù)庫(kù)慈参。Redis ...
    drfung閱讀 970評(píng)論 0 10
  • 1 Redis介紹1.1 什么是NoSql為了解決高并發(fā)畜侦、高可擴(kuò)展、高可用躯保、大數(shù)據(jù)存儲(chǔ)問題而產(chǎn)生的數(shù)據(jù)庫(kù)解決方...
    克魯?shù)吕?/span>閱讀 5,274評(píng)論 0 36
  • 閨蜜程姑娘大聲宣布:我又要減肥了旋膳!今天起我午餐晚餐又只吃水果了! 記不得這是她第幾次宣誓了途事。 常立志的程姑娘每次減...
    月亮小姐6閱讀 1,307評(píng)論 17 29