最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談Redis中bind的坑

 更新時(shí)間:2023年07月03日 11:40:09   作者:空間曲率驅(qū)動(dòng)  
本文主要介紹了淺談Redis中bind的坑,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

今天在搭建Redis服務(wù)集群的時(shí)候,發(fā)現(xiàn)自己一直以來(lái)對(duì)Redis中bind的理解的一個(gè)誤區(qū)。

在今天以前,我一直認(rèn)為Redis中的配置文件中的bind的作用是:用來(lái)限制Redis服務(wù)器用來(lái)接收來(lái)自哪些服務(wù)器(IP地址)的Redis連接請(qǐng)求。即:只有在bind指定的IP地址的計(jì)算機(jī)才可以訪問這個(gè)Redis服務(wù)器。(直到今天我才知道以上的理解都是錯(cuò)誤

例如:

  • bind 127.0.0.1      就是用來(lái)限制只有本機(jī)可以連接redis服務(wù)連接
  • bind 0.0.0.0         就是用來(lái)允許任意計(jì)算機(jī)都可以連接redis服務(wù)連接。

注意:以上的理解都是錯(cuò)誤的。他們正好是特例,對(duì)我們產(chǎn)生了一種錯(cuò)覺。

不信的的話你們可以試一試:(最好試一試)

bind 10.0.0.1(或者除了127.0.0.1和0.0.0.0之外的任何IP地址)

然后重啟redis,就會(huì)發(fā)現(xiàn)啟動(dòng)不起來(lái)。

錯(cuò)誤提示

對(duì)于為什么啟動(dòng)不起來(lái),你們知道了bind的真正意思之后,就會(huì)明白啟動(dòng)不起來(lái)的原因。

 對(duì)于Redis中bind的正確的理解是:

bind:是綁定本機(jī)的IP地址,(準(zhǔn)確的是:本機(jī)的網(wǎng)卡對(duì)應(yīng)的IP地址,每一個(gè)網(wǎng)卡都有一個(gè)IP地址),而不是redis允許來(lái)自其他計(jì)算機(jī)的IP地址。

如果指定了bind,則說(shuō)明只允許來(lái)自指定網(wǎng)卡的Redis請(qǐng)求。如果沒有指定,就說(shuō)明可以接受來(lái)自任意一個(gè)網(wǎng)卡的Redis請(qǐng)求。

舉個(gè)例子:如果redis服務(wù)器(本機(jī))上有兩個(gè)網(wǎng)卡,每一個(gè)網(wǎng)卡對(duì)應(yīng)一個(gè)IP地址,例如IP1IP2。(注意這個(gè)IP1和IP2都是本機(jī)的IP地址)。

我們的配置文件:bind IP1。  只有我們通過IP1來(lái)訪問redis服務(wù)器,才允許連接Redis服務(wù)器,如果我們通過IP2來(lái)訪問Redis服務(wù)器,就會(huì)連不上Redis。

查看本地的網(wǎng)卡對(duì)應(yīng)的IP地址:使用ifconfig命令。

網(wǎng)卡對(duì)應(yīng)的IP地址

從上面看出我們有兩個(gè)網(wǎng)卡,也就是我們只能使用:127.0.0.1和172.18.235.206最為bind的地址,不然redis啟動(dòng)不起來(lái)。

這就說(shuō)明了上面例子(bind 10.0.0.1)為什么啟動(dòng)不起來(lái),因?yàn)槲覀儧]有對(duì)應(yīng)的網(wǎng)卡IP地址。這就說(shuō)明了bind并不是指定redis中可以接受來(lái)自哪些服務(wù)器請(qǐng)求的IP地址。

而是:bind用于指定本機(jī)網(wǎng)卡對(duì)應(yīng)的IP地址。

附注:

bind 127.0.0.1的解釋:(為什么只有本機(jī)可以連接,而其他不可以連接)

我們從ifconfig可以看出:lo網(wǎng)卡(對(duì)應(yīng)127.0.0.1IP地址):是一個(gè)回環(huán)地址(Local Loopback),也就是只有本地才能訪問到這個(gè)回環(huán)地址,而其他的計(jì)算機(jī)也只能訪問他們自己的回環(huán)地址。

那么來(lái)自這個(gè)lo網(wǎng)卡的計(jì)算機(jī)只有本機(jī),所以只有本機(jī)可以訪問,而其他計(jì)算機(jī)不能訪問。

bind 172.18.235.206的話,只要通過這個(gè)網(wǎng)卡地址(172.18.235.206)來(lái)的Redis請(qǐng)求,都可以訪問redis。我使用的阿里云的服務(wù)器。我在另一個(gè)服務(wù)器上去請(qǐng)求 redis-cli 阿里云公網(wǎng)IP地址就會(huì)連接到redis服務(wù)器。

因?yàn)楣W(wǎng)地址的請(qǐng)求:都是經(jīng)過這個(gè)eth0的網(wǎng)卡地址(172.18.235.206),從而接收到這個(gè)redis請(qǐng)求。

當(dāng)你們不使用那個(gè)回環(huán)地址,基本上外部的計(jì)算機(jī)都可以訪問本機(jī)的Redis服務(wù)器。

如果我們想限制只有指定的主機(jī)可以連接到redis中,我們只能通過防火墻來(lái)控制,而不能通過redis中的bind參數(shù)來(lái)限制。

使用阿里云的安全組,來(lái)限制指定的主機(jī)連接6379端口。

redis中的【protected-mode】的理解:

redis本身無(wú)法限制【只有指定主機(jī)】連接到redis中,就像我上面說(shuō)的一樣,bind指定只是用來(lái)設(shè)置接口地址(interfaces)。

1.如果你的bind設(shè)置為:bind 127.0.0.1,這是非常安全的,因?yàn)橹挥斜九_(tái)主機(jī)可以連接到redis,就算不設(shè)置密碼,也是安全的,除非有人登入到你的服務(wù)器上。

2.如果你的bind設(shè)置為:bind 0.0.0.0,表示所有主機(jī)都可以連接到redis。(前提:你的服務(wù)器必須開放redis的端口)。這時(shí)設(shè)置密碼,就會(huì)多一層保護(hù),只有知道密碼的才可以訪問。也就是任何知道密碼的主機(jī)都可以訪問到你的redis。

protected-mode是redis本身的一個(gè)安全層,這個(gè)安全層的作用:就是只有【本機(jī)】可以訪問redis,其他任何都不可以訪問redis。這個(gè)安全層開啟必須滿足三個(gè)條件,不然安全層處于關(guān)閉狀態(tài):

(1)protected-mode yes(處于開啟)

(2)沒有bind指令。原文:The server is not binding explicitly to a set of addresses using the "bind" directive.

(3)沒有設(shè)置密碼。原文:No password is configured。

這時(shí)redis的保護(hù)機(jī)制就會(huì)開啟。開啟之后,只有本機(jī)才可以訪問redis。 如果上面三個(gè)條件任何一個(gè)不滿足,就不會(huì)開啟保護(hù)機(jī)制。

到此這篇關(guān)于淺談Redis中bind的坑的文章就介紹到這了,更多相關(guān)Redis bind內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • 基于Redis的3種分布式ID生成策略

    基于Redis的3種分布式ID生成策略

    在分布式系統(tǒng)設(shè)計(jì)中,全局唯一ID是一個(gè)基礎(chǔ)而關(guān)鍵的組件,隨著業(yè)務(wù)規(guī)模擴(kuò)大和系統(tǒng)架構(gòu)向微服務(wù)演進(jìn),傳統(tǒng)的單機(jī)自增ID已無(wú)法滿足需求,高并發(fā)、高可用的分布式ID生成方案成為構(gòu)建可靠分布式系統(tǒng)的必要條件,
    2025-08-08
  • Redis實(shí)戰(zhàn)之商城購(gòu)物車功能的實(shí)現(xiàn)代碼

    Redis實(shí)戰(zhàn)之商城購(gòu)物車功能的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Redis實(shí)戰(zhàn)之商城購(gòu)物車功能的實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Redis緩存常用4種策略原理詳解

    Redis緩存常用4種策略原理詳解

    這篇文章主要介紹了Redis緩存常用4種策略原理詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Redis緩存和數(shù)據(jù)庫(kù)的數(shù)據(jù)一致性的問題解決

    Redis緩存和數(shù)據(jù)庫(kù)的數(shù)據(jù)一致性的問題解決

    隨業(yè)務(wù)增長(zhǎng),直接操作數(shù)據(jù)庫(kù)性能下降,引入緩存提高讀性能常見,但緩存和數(shù)據(jù)庫(kù)的雙寫操作會(huì)引發(fā)數(shù)據(jù)不一致問題,本文討論幾種常用同步策略,感興趣的可以了解一下
    2024-09-09
  • Redis實(shí)現(xiàn)和數(shù)據(jù)庫(kù)的數(shù)據(jù)同步

    Redis實(shí)現(xiàn)和數(shù)據(jù)庫(kù)的數(shù)據(jù)同步

    本文介紹了Redis與傳統(tǒng)數(shù)據(jù)庫(kù)數(shù)據(jù)同步的幾種常見方法,包括CacheAside、WriteThrough、WriteBehind,以及如何通過分布式事務(wù)、樂觀鎖、數(shù)據(jù)過期策略和消息隊(duì)列來(lái)解決數(shù)據(jù)一致性問題,每種方法都有其適用場(chǎng)景和優(yōu)缺點(diǎn),需要根據(jù)具體需求進(jìn)行選擇
    2025-01-01
  • 使用Redis獲取數(shù)據(jù)轉(zhuǎn)json,解決動(dòng)態(tài)泛型傳參的問題

    使用Redis獲取數(shù)據(jù)轉(zhuǎn)json,解決動(dòng)態(tài)泛型傳參的問題

    這篇文章主要介紹了使用Redis獲取數(shù)據(jù)轉(zhuǎn)json,解決動(dòng)態(tài)泛型傳參的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-07-07
  • redis緩存預(yù)熱的實(shí)現(xiàn)示例

    redis緩存預(yù)熱的實(shí)現(xiàn)示例

    本文主要介紹了Java中實(shí)現(xiàn)緩存預(yù)熱的多種策略,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • Redis執(zhí)行Lua腳本的好處與示例代碼

    Redis執(zhí)行Lua腳本的好處與示例代碼

    Redis在2.6推出了腳本功能,允許開發(fā)者使用Lua語(yǔ)言編寫腳本傳到Redis中執(zhí)行。下面這篇文章主要給大家介紹了關(guān)于Redis執(zhí)行Lua腳本的好處與示例代碼,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-10-10
  • Redis中五種數(shù)據(jù)類型簡(jiǎn)單操作

    Redis中五種數(shù)據(jù)類型簡(jiǎn)單操作

    這篇文章主要介紹了Redis中五種數(shù)據(jù)類型簡(jiǎn)單操作的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Redis Hash沖突的10種解決方法

    Redis Hash沖突的10種解決方法

    在高并發(fā)的分布式系統(tǒng)中,Redis的Hash表(如Hash類型、數(shù)據(jù)庫(kù)鍵空間)是核心數(shù)據(jù)結(jié)構(gòu),但當(dāng)多個(gè)鍵的哈希值沖突時(shí),性能可能驟降——這是開發(fā)者必須直面的挑戰(zhàn),本文將深入Redis源碼邏輯,給大家介紹了Redis Hash沖突的10種解決方法,需要的朋友可以參考下
    2025-08-08

最新評(píng)論

綦江县| 杭锦后旗| 从江县| 通化县| 苏州市| 孝昌县| 香格里拉县| 利辛县| 旬邑县| 扎囊县| 兰坪| 宜城市| 丽江市| 泰安市| 汤原县| 双鸭山市| 股票| 司法| 鹤岗市| 志丹县| 镇平县| 绿春县| 桃江县| 都兰县| 宜宾市| 乌兰浩特市| 丹凤县| 桐乡市| 获嘉县| 怀柔区| 万全县| 宣化县| 沙河市| 聂拉木县| 万宁市| 尖扎县| 民丰县| 雅安市| 呼和浩特市| 岱山县| 布拖县|