日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BigBrother的大数据之旅Day 17 redis(2)

發布時間:2023/12/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BigBrother的大数据之旅Day 17 redis(2) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Redis(2)

1 redis持久化

持久化:

將數據從掉電易失的內存存放到能夠永久存儲的設備上

redis持久化 兩種 :

RDB (redis DB)鏡像文件,dump.rdb

AOF(append only file)日志文件,默認關閉

恢復數據

如果需要恢復數據,只需將備份文件 (dump.rdb) 移動到 redis 安裝目錄并啟動服務即可。獲取 redis 目錄可以使用 CONFIG GET DIR

redis 127.0.0.1:6379> CONFIG GET dir 1) "dir" 2) "/usr/local/redis/bin"

2 redis 集群

兩個集群中的概念

鏡像:數據容量不變

切片:橫向擴展

集群配置方案

方案一

主從復制

在從服務器上寫入

redis > SLAVEOF 192.168.56.201 6379

意思是,該從服務器是192.168.56.201 端口號為6379的服務器的slave

redis > SLAVEOF NO ONE

這條命令寫入后,獨立成為master,獸人永不為奴!

優點: 讀效率提升,但是寫的效率還是和以前一樣,從服務器無法寫,只能讀

缺點:如果主服務器宕機,從服務器不能自動切換

方案二

主從復制+ 哨兵

1-n個哨兵負責觀察1-n個主服務器

哨兵配置如下:

(1)配置哨兵的配置文件

在sentinel.conf中寫(也可以自己創建一個文件,啟動時綁定這個配置文件就可以了)

sentinel monitor mymaster 127.0.0.1 6379 2

Sentinel monitor

監視mymaster的主服務器,服務器ip和端口,將這個主服務器判斷為下線失效至少需要2個Sentinel同意,多數Sentinel同意才會執行故障轉移

(2)啟動哨兵

redis-server /path/to/sentinel.conf --sentinel

經過測試,哨兵不是那么給力,如果向漫威的哨兵那么給力就好了

依舊沒有解決寫的問題

方案三

redis集群(redis3.0以上支持)

本次使用單機幾個程序來模擬集群

(1)Redis集群的每個節點都有兩種角色可選:主節點master node、從節點slave node。其中主節點用于存儲數據,而從節點則是某個主節點的復制品

(2)故障轉移

(3)redis分片

集群將整個數據庫分為16384個槽位slot,所有key都數據這些slot中的一個,key的槽位計算公式為slot_number****=crc16(key)%16384,其中crc16為16位的循環冗余校驗和函數

(4)重定向

由于Redis集群無中心節點,請求會發給任意主節點

主節點只會處理自己負責槽位的命令請求,其它槽位的命令請求,該主節點會返回客戶端一個轉向錯誤

客戶端根據錯誤中包含的地址和端口重新向正確的負責的主節點發起命令請求

(5)redis集群的安裝

0,準備的包

redis-3.0.0.tar.gz , redis-3.0.0.gem

gcc ,tcl, ruby,rubygems

1 解壓安裝redis到/opt/cluster

2 安裝環境

yum -y install gcc tcl ruby rubygems

3 安裝redis集群管理工具

gem install redis-3.3.0.gem

4 設置redis的配置文件

1 daemonize yes 2 port 7001 3 cluster-enabled yes注釋放開 4 bind 網卡 127.0.0.1 如果有多個網卡會傳遞信息,會很麻煩

5 bin目錄重命名為redis1
并拷貝六份分別是:redis2/redis3/redis4/redis5/redis6

6 修改2,3,4,5,6中的端口號分別是7002/7003/7004/7005/7006

7 啟動六個redis實例

./redis-server redis.conf(6次)

8 管理集群

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

ps: 1為每個master啟動一個從節點

9 以集群方式連接集群
redis-cli -p 7001 -h 192.168.202.101 -c

總結

以上是生活随笔為你收集整理的BigBrother的大数据之旅Day 17 redis(2)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。