解壓-linux下安裝redis
Redis是c語言開發的
安裝redis需要c語言的編譯環境。如果沒有gcc需要在線安裝。
*在linux下輸入安裝gcc
*解壓redis
*進入解壓后的redis目錄編譯
*編譯完成后在當前目錄安裝
PREFIX代表安裝到指定目錄
*進入安裝目錄下的bin目錄
這就代表安裝成功了
*前端啟動
在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
代表集群創建成功