linux下安裝redis以及redis集羣

解壓-linux下安裝redis前端

Redis是c語言開發的node

安裝redis須要c語言的編譯環境。若是沒有gcc須要在線安裝。linux

*在linux下輸入安裝gccredis

*解壓redis算法

*進入解壓後的redis目錄編譯數據庫

*編譯完成後在當前目錄安裝緩存

PREFIX表明安裝到指定目錄ruby

*進入安裝目錄下的bin目錄架構

這就表明安裝成功了app

 

*前端啓動

在bin目錄下輸入./redis-server

看到這個就表明啓動成功了,可是啓動了以後不能進行其它操做了

 

*後臺啓動(須要一個配置文件)

在redis的源碼包裏面有個redis.conf文件拷貝到安裝目錄

而後修改配置文件的內容

而後在啓動命令後加上redis.conf就能夠後臺啓動了

查看進程後發現已經啓動

 

 

redis的五種數據類型(redis中全部的數據都是字符串)

String:key-value(作緩存)
Hash:key-fields-values(作緩存)
List:有順序可重複
Set:無順序,不能重複
SortedSet(zset):有順序,不能重複

incl:表明加一(生成ID)

Decr:表明減一

hash能夠對key進行歸類

hash保存

hash獲取

 

向list中添加(l開頭表明從左邊添加)

查看list中的全部內容

向list中添加(r開頭表明從右邊添加)

list彈出左邊第一個數據(彈出后里面就沒有了)

list彈出右邊第一個數據

 

向set中添加數據

查看set中的數據

set中刪除元素

 

zset中添加(數字指定順序)

查看zset

zset刪除

 設置key的過時時間

持久化key

查看key的有效期

 

 

redis的持久化

redis的全部數據都是保存到內存中

rdb:快照形式,按期把內存中當前時刻的數據保存到磁盤,redis默認的持久化方案

aof:append only file.把全部對redis數據庫操做的命令,增刪改操做的命令,保存到文件中.數據恢復時把全部命令執行一遍便可.

 

下面介紹一下redis.conf配置文件中的內容

redis的默認端口

默認保存數據的方案

快照文件(備份數據只需備份這個文件,恢復再拷貝回來,從新啓動redis便可)

開啓aof

開啓了以後再bin下回生成一個文件

 

 

 

redis的集羣搭建

架構圖

 

(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集羣中至少應該有三個節點,要保證集羣的高可用,須要每一個節點有一個備份機

*在/usr/local下建立redis-cluster目錄

*在拷貝以前要刪除redis的bin目錄下的文件

拷貝六份

 

經過修改redis.conf文件修改端口號

 *打開每一個redis的集羣

*建立啓動全部redis的命令

*修改這個命令的權限

*開啓全部redis

*使用ruby腳本搭建集羣,須要ruby的運行環境

*上傳ruby的包到linux

*執行gem命令

*在原版的redis-3.0.0下有一個redis-trib.rb文件

*複製到剛纔創建的集羣目錄下

*搭建集羣的命令

./redis-trib.rb create --replicas 1 192.168.25.153:7001 192.168.25.153:7002 192.168.25.153:7003 192.168.25.153:7004 192.168.25.153:7005  192.168.25.153:7006

表明集羣建立成功