欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Redis本地/遠(yuǎn)程(外部)連接失敗問題及解決

 更新時(shí)間:2025年03月14日 09:56:12   作者:Stephen·You  
這篇文章主要介紹了Redis本地/遠(yuǎn)程(外部)連接失敗問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

問題現(xiàn)象

今天在 192.168.2.220(windows服務(wù)器)上安裝并啟動(dòng)了一個(gè) Redis服務(wù),如下:

點(diǎn)擊 redis-server.exe:

啟動(dòng)成功:

然后在192.168.2.101(本地) 連接 192.168.2.220 Redis服務(wù),出現(xiàn)報(bào)錯(cuò),如下:

隨后,啟動(dòng)本地的java項(xiàng)目,配置 Redis,如下:

然后訪問需要使用到 Redis服務(wù) 的接口,出現(xiàn)如下報(bào)錯(cuò):

問題分析

1.報(bào)錯(cuò)信息

根據(jù)報(bào)錯(cuò)信息可知,大概意思就是說:

Redis連接 是以 “protected” 模式mode),該模式具有以下的特點(diǎn):沒有綁定可具體的ip地址,訪問cli工具不需要認(rèn)證密碼,該模式下只支持“loopback”(回環(huán))接口的調(diào)用。

//注:回環(huán)的意思大概就是說,只能在配置了redis的機(jī)器上訪問redis連接,而不允許外部ip連接。

如果你想要連接該redis服務(wù),你需要采用以下其中一種解決方法:

方案1.2.3:前三種的意思幾乎一致,都是說讓你去修改該 Redis的配置 ,讓Redis以“protected-mode no”的配置來啟動(dòng)。

方案4:修改該 Redis的配置,讓Redis綁定一個(gè)ip地址或一個(gè)認(rèn)證密碼。

2.知識(shí)點(diǎn)分析

2.1Redis 的配置文件的區(qū)別

可以看到有兩個(gè)配置文件:

那該使用哪個(gè)呢?那就來說說 redis.windows.confredis.windows-service.conf 的區(qū)別:

查閱網(wǎng)上資料發(fā)現(xiàn),網(wǎng)上流傳著這樣的說法:“當(dāng)redis安裝后,就會(huì)在系統(tǒng)服務(wù)中出現(xiàn)一個(gè)名為Redis的服務(wù),通過點(diǎn)擊啟動(dòng)來啟動(dòng)Redis”

通過 win+r 中,輸入 compmgmt.msc ,打開管理工具點(diǎn)擊服務(wù),可以找到redis服務(wù),然后看見類似下圖:

通過這個(gè)圖片可以看到,這個(gè)名為Redis的系統(tǒng)服務(wù),默認(rèn)是使用了 “redis.windows-service.conf ” 這個(gè)配置文件來啟動(dòng)的。

奇怪的是我看了一下卻沒有Redis這個(gè)系統(tǒng)服務(wù)。。。。。。好吧,有可能是Redis的版本的問題:

問題不大,因?yàn)槲覀兤鋵?shí)完全就沒必要把redis變成一個(gè)系統(tǒng)服務(wù),從而實(shí)現(xiàn)開機(jī)自啟動(dòng)(后臺(tái));我覺得想用的時(shí)候,直接點(diǎn)擊 redis-server.exe 啟動(dòng) 不香么???

現(xiàn)在要思考的問題其實(shí)是:當(dāng)我們點(diǎn)擊 redis-server.exe 啟動(dòng) Redis 時(shí),會(huì)不會(huì)也是使用了 “redis.windows-service.conf ” 這個(gè)配置文件來啟動(dòng)的呢?

我猜想:redis-server.exe 啟動(dòng) Redis 時(shí)是使用“redis.windows.conf ”這個(gè)配置文件來啟動(dòng)的,否則,這個(gè)文件就沒有存在的意義了。

搜了很久,沒有在網(wǎng)上找到對應(yīng)的資料,于是就自己來實(shí)驗(yàn)一下吧?。。。。?!

2.2Redis 的 bind 配置

首先我們打開 redis.windows-service.conf,可以看見默認(rèn)綁定了127.0.0.1(本地ip地址)

redis 中的 bind 配置作用就是:

  • 配置該redis連接 的 固定ip,配置完之后,就只有它綁定的那這個(gè) ip 能訪問到該redis連接;其他ip就不能。
  • 而由于 redis 默認(rèn)綁定了 127.0.0.1 ,也就是只有 127.0.0.1 所映射的(192.168.2.220)這個(gè)ip能訪問該 redis,其他ip就不能;
  • 因此這個(gè)配置會(huì)阻礙外部(192.168.2.101)對該 redis的訪問。

2.3Redis 的 protected-mode 配置

“redis.windows-service.conf ” 文件中,可以找到如下配置:

通過查看注解,我們可以知道:

  • 該配置是默認(rèn)啟動(dòng)(enabled)的;
  • 如果你想讓其他主機(jī)(ip)連接該redis,則必須設(shè)置該配置為不可用的(disable),即使你不配置認(rèn)證密碼,也沒有 通過 bind 配置綁定外部ip地址
  • 由此可知:該配置就是用于限制外部ip訪問的,且要和 bind 配置一起使用。

心得

從上面的知識(shí)點(diǎn)可知,要解決問題,就需要對 redis的配置文件中的 bind 和 protected-mode 配置進(jìn)行修改。

配置步驟

步驟1打開 “redis.windows-service.conf ” 文件,為Redis綁定一個(gè)ip地址

//注:我們一般都不需要在訪問redis時(shí)使用到認(rèn)證密碼,所以沒有要求的話,可以不配置

把該bing 配置(bind 127.0.0.1)注釋掉,這樣就能讓所有ip都能訪問到這個(gè)redis,修改如下:

步驟2打開 “redis.windows-service.conf ” 文件,修改Redis的 protected-mode 配置

下拉,找到 protected-mode 配置,修改為如下:

然后把原來的redis服務(wù)關(guān)閉,再點(diǎn)擊redis-server.exe 啟動(dòng)。

然后再在本地(192.168.2.101)連接 192.168.2.220 Redis服務(wù),出現(xiàn)如下報(bào)錯(cuò):

再調(diào)用接口試試,發(fā)現(xiàn)還是報(bào)錯(cuò):

好了,接下來就是驗(yàn)證實(shí)驗(yàn)的時(shí)刻了

1. 關(guān)閉redis窗口,將“redis.windows-service.conf ” 還原成初始狀態(tài);

2. 將以上步驟應(yīng)用到 “redis.windows.conf” 這個(gè)配置文件上;

3. 點(diǎn)擊 redis-server.exe 啟動(dòng);

發(fā)現(xiàn)還是會(huì)報(bào)同樣的錯(cuò)誤,那就不知道是為什么了。。。尷尬

于是,我又把“redis.windows.conf” 和 “redis.windows-service.conf ” 兩個(gè)配置文件都做了修改,然后再點(diǎn)擊 redis-server.exe 啟動(dòng),結(jié)果還是不行;

這樣就不好說問題出在哪里,但是能確定的是:這兩個(gè)配置文件的修改都沒有生效?。。。。。?/strong>

必殺技

自己寫個(gè)啟動(dòng)腳本(redis-start.bat),配置redis的啟動(dòng)命令并指定了配置文件,來啟動(dòng)redis,終于可以了:

雙擊 “redis-start.bat” 文件

啟動(dòng)成功:

接口調(diào)用成功:

注意:這里不要指定 “redis.windows-service.conf ” 配置文件,否則會(huì)出現(xiàn)以下情況:

雖然啟動(dòng)了,但是一片黑暗,啥信息都看不到,由此似乎可以證明了我的猜想:

redis-server.exe 啟動(dòng) Redis 時(shí)是使用“redis.windows.conf ”這個(gè)配置文件來啟動(dòng)的

因?yàn)椋?strong>redis-server.exe 啟動(dòng) Redis 時(shí),是有信息可以看見的,所以說

“redis.windows-service.conf ” 這個(gè)配置文件,應(yīng)該是用來將Redis配置成一個(gè)windows系統(tǒng)服務(wù)而存在的?。?!

總之,最靠譜的方法,還是用腳本啟動(dòng)?。?!

解決方法

1. 打開 “redis.windows???????” 文件,把該bing 配置(bind 127.0.0.1)注釋掉

2. 修改Redis的 protected-mode 配置 protected-mode no ,如下:

3. 創(chuàng)建啟動(dòng)腳本文件(redis-start.bat),寫入啟動(dòng)命令并指定配置文件:

4. 雙擊 “redis-start.bat” 文件啟動(dòng):

5. 訪問接口成功:

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • redis限流的實(shí)際應(yīng)用

    redis限流的實(shí)際應(yīng)用

    這篇文章主要介紹了redis限流的實(shí)際應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Redis遍歷海量數(shù)據(jù)集的幾種實(shí)現(xiàn)方法

    Redis遍歷海量數(shù)據(jù)集的幾種實(shí)現(xiàn)方法

    Redis作為一個(gè)高性能的鍵值存儲(chǔ)數(shù)據(jù)庫,廣泛應(yīng)用于各種場景,包括緩存、消息隊(duì)列、排行榜,本文主要介紹了Redis遍歷海量數(shù)據(jù)集的幾種實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • dubbo服務(wù)使用redis注冊中心的系列異常解決

    dubbo服務(wù)使用redis注冊中心的系列異常解決

    這篇文章主要為大家介紹了dubbo服務(wù)在使用redis注冊中心遇到的一系列異常的解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • Redis IP地址的綁定的實(shí)現(xiàn)

    Redis IP地址的綁定的實(shí)現(xiàn)

    這篇文章主要介紹了Redis IP地址的綁定的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Redis實(shí)現(xiàn)分布式事務(wù)的示例

    Redis實(shí)現(xiàn)分布式事務(wù)的示例

    Redis雖不支持傳統(tǒng)SQL數(shù)據(jù)庫ACID特性的事務(wù),但提供了事務(wù)特性,允許多命令捆綁執(zhí)行,通過命令MULTI、EXEC、DISCARD、WATCH實(shí)現(xiàn),感興趣的可以了解一下
    2024-10-10
  • Redis+攔截器實(shí)現(xiàn)接口防刷

    Redis+攔截器實(shí)現(xiàn)接口防刷

    接口防刷有很多種實(shí)現(xiàn)思路,例如:攔截器/AOP+Redis、攔截器/AOP+本地緩存、前端限制等等很多種實(shí)現(xiàn)思路,本文主要來講一下?攔截器+Redis?的實(shí)現(xiàn)方式,需要的可以參考下
    2023-08-08
  • 詳解redis中的下載和安裝(最新推薦)

    詳解redis中的下載和安裝(最新推薦)

    本文詳細(xì)介紹了如何在Linux和Docker上安裝、配置、啟動(dòng)和關(guān)閉Redis,包括下載安裝包、解壓、編譯安裝、配置文件修改、前臺(tái)和后臺(tái)啟動(dòng)、關(guān)閉以及Docker容器化部署等步驟,感興趣的朋友一起看看吧
    2025-03-03
  • 在Redis數(shù)據(jù)庫中實(shí)現(xiàn)分布式速率限制的方法

    在Redis數(shù)據(jù)庫中實(shí)現(xiàn)分布式速率限制的方法

    這篇文章主要介紹了在Redis數(shù)據(jù)庫中實(shí)現(xiàn)分布式速率限制的方法,文中展示了一個(gè)用Python編寫的應(yīng)用示例,需要的朋友可以參考下
    2015-06-06
  • Redis高并發(fā)場景下秒殺超賣解決方案(秒殺場景)

    Redis高并發(fā)場景下秒殺超賣解決方案(秒殺場景)

    早起的12306購票,剛被開發(fā)出來使用的時(shí)候,12306會(huì)經(jīng)常出現(xiàn)超賣 這種現(xiàn)象,也就是說車票只剩10張了,卻被20個(gè)人買到了,這種現(xiàn)象就是超賣,今天通過本文給大家介紹Redis高并發(fā)場景下秒殺超賣解決方案,感興趣的朋友一起看看吧
    2022-04-04
  • Redis+threading實(shí)現(xiàn)多線程消息隊(duì)列的使用示例

    Redis+threading實(shí)現(xiàn)多線程消息隊(duì)列的使用示例

    Redis多線程消息隊(duì)列是一種使用Redis作為存儲(chǔ)后端的消息隊(duì)列實(shí)現(xiàn),它利用Redis的線程并發(fā)處理能力來提高消息隊(duì)列的處理效率,本文主要介紹了Redis+threading實(shí)現(xiàn)多線程消息隊(duì)列的使用示例,感興趣的可以了解一下
    2023-12-12

最新評(píng)論