redis-3.0.0安裝
前言
redis是常用的no-sql數據庫,常用於緩存數據,同時,他也可以持久化數據。他是C語言開發的,所以安裝的時候需要編譯。
單機版redis
yum install gcc-c++(安裝C語言編譯環境)
安裝
第一步:redis的源碼包上傳到linux系統(點擊下載)
第二步:tar xzvf redis-3.0.0.tar.gz(解壓縮redis)
第三步:make(編譯。需進入redis源碼目錄)
第四步:make install PREFIX=/usr/local/redis(安裝redis到指定目錄)
PREFIX參數指定redis的安裝目錄。一般軟件安裝到/usr目錄下
啟動
./redis-server(服務前端啟動)
./redis-cli shutdown(服務關閉)
./redis-server redis.conf(服務后端啟動-需執行以下操作)
cp redis.conf /usr/local/redis/bin/(將redis源碼redis-3.0.0中的redis.conf復制到安裝目錄的bin下)
修改該配置文件,將其中的daemonize no改為yes
./redis-cli -h ip地址 -p 端口(連接客戶端)
ping(判斷服務健康狀態)
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集群中至少應該有三個節點。要保證集群的高可用,需要每個節點有一個備份機。所以集群至少需要6台服務器。搭建偽分布式。可以使用一台虛擬機運行6個redis實例。需要修改redis的端口號7001-7006。
將前面單機版的redis復制6份,放入新建文件夾redis-cluster中,分別為redis01~06。然后分別修改redis.conf配置文件。將端口號改為7001~7006,並刪除cluster-enabled yes的注釋。
安裝集群搭建環境以及工具
yum install ruby(安裝ruby)
yum install rubygems(ruby的包管理器)
gem install redis-3.0.0.gem(安裝ruby腳本運行使用的第三方包,點擊下載)
cp redis-trib.rb /usr/local/redis-cluster(將redis源代碼的src目錄下的redis-trib.rb復制到redis-cluster文件夾下)
./redis-trib.rb create --replicas 1 ip地址:7001ip地址:7002ip地址:7003ip地址:7004ip地址:7005ip地址:7006(為這七台redis實例搭建集群。其中,-replicas 1的意思是每台redis服務器有一個備份機,執行完此命令后,該腳本會自動為這6個redis實例分配主從和槽。)
連接
./redis-cli -h ip地址 -p 7001 -c(連接redis集群,-c意思是連接的是集群,添加數據的時候會自動跳轉到該數據對應槽的redis實例中)
總結
redis作為一個緩存數據庫,同時可以持久化數據,應用場景還是非常多的,安裝了redis,接下來就要介紹redis的數據類型以及java應用redis了。