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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

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

Redis(2)

1 redis持久化

持久化:

將數(shù)據(jù)從掉電易失的內(nèi)存存放到能夠永久存儲(chǔ)的設(shè)備上

redis持久化 兩種 :

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

AOF(append only file)日志文件,默認(rèn)關(guān)閉

恢復(fù)數(shù)據(jù)

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

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

2 redis 集群

兩個(gè)集群中的概念

鏡像:數(shù)據(jù)容量不變

切片:橫向擴(kuò)展

集群配置方案

方案一

主從復(fù)制

在從服務(wù)器上寫(xiě)入

redis > SLAVEOF 192.168.56.201 6379

意思是,該從服務(wù)器是192.168.56.201 端口號(hào)為6379的服務(wù)器的slave

redis > SLAVEOF NO ONE

這條命令寫(xiě)入后,獨(dú)立成為master,獸人永不為奴!

優(yōu)點(diǎn): 讀效率提升,但是寫(xiě)的效率還是和以前一樣,從服務(wù)器無(wú)法寫(xiě),只能讀

缺點(diǎn):如果主服務(wù)器宕機(jī),從服務(wù)器不能自動(dòng)切換

方案二

主從復(fù)制+ 哨兵

1-n個(gè)哨兵負(fù)責(zé)觀察1-n個(gè)主服務(wù)器

哨兵配置如下:

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

在sentinel.conf中寫(xiě)(也可以自己創(chuàng)建一個(gè)文件,啟動(dòng)時(shí)綁定這個(gè)配置文件就可以了)

sentinel monitor mymaster 127.0.0.1 6379 2

Sentinel monitor

監(jiān)視mymaster的主服務(wù)器,服務(wù)器ip和端口,將這個(gè)主服務(wù)器判斷為下線失效至少需要2個(gè)Sentinel同意,多數(shù)Sentinel同意才會(huì)執(zhí)行故障轉(zhuǎn)移

(2)啟動(dòng)哨兵

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

經(jīng)過(guò)測(cè)試,哨兵不是那么給力,如果向漫威的哨兵那么給力就好了

依舊沒(méi)有解決寫(xiě)的問(wèn)題

方案三

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

本次使用單機(jī)幾個(gè)程序來(lái)模擬集群

(1)Redis集群的每個(gè)節(jié)點(diǎn)都有兩種角色可選:主節(jié)點(diǎn)master node、從節(jié)點(diǎn)slave node。其中主節(jié)點(diǎn)用于存儲(chǔ)數(shù)據(jù),而從節(jié)點(diǎn)則是某個(gè)主節(jié)點(diǎn)的復(fù)制品

(2)故障轉(zhuǎn)移

(3)redis分片

集群將整個(gè)數(shù)據(jù)庫(kù)分為16384個(gè)槽位slot,所有key都數(shù)據(jù)這些slot中的一個(gè),key的槽位計(jì)算公式為slot_number****=crc16(key)%16384,其中crc16為16位的循環(huán)冗余校驗(yàn)和函數(shù)

(4)重定向

由于Redis集群無(wú)中心節(jié)點(diǎn),請(qǐng)求會(huì)發(fā)給任意主節(jié)點(diǎn)

主節(jié)點(diǎn)只會(huì)處理自己負(fù)責(zé)槽位的命令請(qǐng)求,其它槽位的命令請(qǐng)求,該主節(jié)點(diǎn)會(huì)返回客戶端一個(gè)轉(zhuǎn)向錯(cuò)誤

客戶端根據(jù)錯(cuò)誤中包含的地址和端口重新向正確的負(fù)責(zé)的主節(jié)點(diǎn)發(fā)起命令請(qǐng)求

(5)redis集群的安裝

0,準(zhǔn)備的包

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

gcc ,tcl, ruby,rubygems

1 解壓安裝redis到/opt/cluster

2 安裝環(huán)境

yum -y install gcc tcl ruby rubygems

3 安裝redis集群管理工具

gem install redis-3.3.0.gem

4 設(shè)置redis的配置文件

1 daemonize yes 2 port 7001 3 cluster-enabled yes注釋放開(kāi) 4 bind 網(wǎng)卡 127.0.0.1 如果有多個(gè)網(wǎng)卡會(huì)傳遞信息,會(huì)很麻煩

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

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

7 啟動(dòng)六個(gè)redis實(shí)例

./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為每個(gè)master啟動(dòng)一個(gè)從節(jié)點(diǎn)

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

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。