1. 程式人生 > >使用redis做快取的單機、叢集版的簡單使用

使用redis做快取的單機、叢集版的簡單使用

一.簡介與安裝

Redis是c語言開發的。(裝c語言環境、解壓、編譯、安裝)埠號6379

很多專案中,為了緩解我們伺服器與資料庫的壓力,我們使用快取。

安裝redis需要c語言的編譯環境。如果沒有gcc需要線上安裝。yum install gcc-c++

安裝步驟:

第一步:redis的原始碼包上傳到linux系統。

第二步:解壓縮redis。

第三步:編譯。進入redis原始碼目錄。make (c語言專案需要編譯)

第四步:安裝。make install PREFIX=/usr/local/redis

PREFIX引數指定redis的安裝目錄。一般軟體安裝到/usr目錄下

 

 

前端啟動:在redis的安裝目錄下的src目錄直接啟動redis-server(叫前端啟動是因為會佔用我們的命令號,命令號就無法使用了  不推薦) 使用ctrl+c退出

[[email protected] bin]# ./redis-server 

後臺啟動(需要配置檔案):

把解壓出來的檔案複製到 我們的安裝目錄的bin檔案中並且修改配置檔案

  /root/redis-3.0.0/redis.conf複製到/usr/local/redis/bin目錄下

[[email protected] redis-3.0.0]# cp redis.conf /usr/local/redis/bin/

修改配置檔案:

載入該配置檔案啟動 :[[email protected] bin]# ./redis-server redis.conf

檢視redis程序:

[[email protected] bin]# ps aux|grep redis

root      5190  0.1  0.3  33936  1712 ?        Ssl  18:23   0:00 ./redis-server *:6379   

root      5196  0.0  0.1   4356   728 pts/0    S+   18:24   0:00 grep redis

 

關閉服務 kill + 埠號  或者kill + 埠號 + -9 強制關閉

或者使用reids-cli客戶端斷臂  ./redis-cli/ shutdown

二.redis操作與使用

    使用./redis-cli  命令客戶端連線哪個redis服務   預設埠號為6379

       也可以指定ip和埠號 ./redis-cli -h 192.168.25.162 -p 6379  

具體資料操作見:  https://blog.csdn.net/afdasfggasdf/article/details/84135841

三.redis的持久化方案

           

Redis的所有資料都是儲存到記憶體中的。

Rdb:快照形式,定期把記憶體中當前時刻的資料儲存到磁碟。Redis預設支援的持久化方案。

aof形式:append only file。把所有對redis資料庫操作的命令,增刪改操作的命令。儲存到檔案中。資料庫恢復時把所有的命令執行一遍即可。(預設不開啟  每秒存一次消耗記憶體)

在redis.conf配置檔案中配置。

Rdb:

Aof的配置 appendonly改為 yes就可以了:

兩種持久化方案同時開啟使用aof檔案來恢復資料庫。

四.redis叢集

       redis-cluster架構

     

只能是單數 因為有投票機制

架構細節:

(1)所有的redis節點彼此互聯(PING-PONG機制),內部使用二進位制協議優化傳輸速度和頻寬.

(2)節點的fail是通過叢集中超過半數的節點檢測失效時才生效.

(3)客戶端與redis節點直連,不需要中間proxy.客戶端不需要連線叢集所有節點,連線叢集中任何一個可用節點即可

(4)redis-cluster把所有的物理節點對映到[0-16383]slot,cluster 負責維護node<->slot<->value

Redis 叢集中內建了 16384 個雜湊槽,當需要在 Redis 叢集中放置一個 key-value 時,redis 先對 key 使用 crc16 演算法算出一個結果,然後把結果對 16384 求餘數,這樣每個 key 都會對應一個編號在 0-16383 之間的雜湊槽,redis 會根據節點數量大致均等的將雜湊槽對映到不同的節點(不關有多少redis都只有16384個節點)