【筆記】Redis建置筆記

10 11月, 2019

【筆記】Redis建置筆記







Redis是一個cache server

至於什麼是Redis就不在多贅述了,谷哥有非常多的資源




之前在專案上實際引用後。php與redis配合。

效能跟實務上(排序,排名)等等,都非常地不錯。

以下記錄架設redis的流程。

其實aws已經有現成架好的cahce server

但是礙於價格的關係,還是自己用ec2架設比較省錢一些。

(1) 準備好伺服器

 這次使用的是AWS EC2,在防火牆規則需開6379(Redis預設port)


(2)開始安裝

Ubuntu 14.04之後的Linux發行版,

可以直接使用apt-get來下載安裝Redis Server,指令如下:


 sudo apt-get install redis-server


(3)開始測試

安裝完後,Redis server應該就可以自動起來,下cli指令:
 redis-cli
x
x







看到上述畫面,就代表成功運行了,如果出現失敗的情況。

則下指令讓Redis啟動就行

啟動Redis:
 sudo service redis-server start
重啟Redis:
 sudo service redis-server restart
關閉Redis:
 sudo service redis-server stop


(4)修改Config

Redis Server的設定檔放在「/etc/redis/redis.conf」

下指令更改Conf
 sudo vi /etc/redis/redis.conf
比較常見的三處需要改

(1)port: 預設為6379,如果不想走預設port則可以更改

(2)bind:是否限定某個IP才可以連線,預設為127.0.0.1也就是本機,註解掉

就可以全部對外開放(測試階段的時候才用)

(3)requirepass:連結Redis Server所需的密碼,預設是無密碼

(5)修改最大連線數

Redis Server的最大連線數可能會被受限
可以透過CLI進行查詢目前的最大連線數

下指令進入CLI模式
redis-cli
輸入指令取得最大人數
CONFIG GET maxclients





看到上圖就會得到最大人數,如果上限人數不合預期,

則透過下列修改:

修改/etc/systemd/system/redis.service文件,如下加上LimitNOFILE參數

輸入修改服務指令
sudo vi /etc/systemd/system/redis.service

如果不添加的上述參數的話,最大連線數不管怎麼設定,都會被預設鎖死,先把最大值開到65536。


輸入指令,讓系統重讀,並且將服務重啟
sudo systemctl daemon-reload
sudo systemctl restart redis.service
再次進入CLI,將最大人數設定成想要的數值。

設定最大人數指令
CONFIG set maxclients 15000
查詢最大人數指令
CONFIG get maxclients

查詢目前連線數量

info clients

查詢記憶體最大使用量

config get maxmemory

(6)外掛套件

目前很多Redis的GUI套件,都是要收費的。

但是官方在0.8.8版本還保留著以前開發的免費版本:


在功能使用上面都是正常的。在開發上來說非常有幫助。

安裝玩GUI套件後,輸入IP跟PORT基本上就可以連上線(預設REDIS沒密碼)

之後再伺服器端的CLI模式,模擬程式去插入資料
redis-cli
set {Key}  {Vaule}

之後這筆資料就會進入到REDIS內。

再透過GUI查詢,資料就顯示了。


這樣在開發跟DEBUG,就比較容易去比對。

上述就是整個快速的伺服器建置流程。

REDIS在正式上線的時候,需要注意他的IP只能對內開放。

這是比較正規的方式,前期測試的時候可以全開,方便測試。


=============================================

採坑參考筆記:

(1)持久化設定遇到的障礙
須將LOG以及RDB存放的地方,權限都調整可以使用
https://www.jianshu.com/p/3aaf21dd34d6
https://www.jianshu.com/p/2ad2ae9f8446

(2)記憶體調整
預設是無上限,但是上線時還是要依據情況調整
https://www.jianshu.com/p/ca7e15348323

(3)內存分配優化 (vm.overcommit_memory=1)
https://cachecloud.github.io/2017/02/16/Redis%E7%9A%84Linux%E7%B3%BB%E7%BB%9F%E4%BC%98%E5%8C%96/


張貼留言