Jedis連接 HelloWorld實現

来源:https://www.cnblogs.com/share-record/archive/2019/09/16/11526917.html
-Advertisement-
Play Games

建一個Maven項目, pom裡加下jedis依賴, 1 2 3 4 5 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependenc ...


建一個Maven項目,

pom裡加下jedis依賴,

1 2 3 4 5 <dependency>     <groupId>redis.clients</groupId>     <artifactId>jedis</artifactId>     <version>2.9.0</version> </dependency>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 package com.java1234.redis;   import redis.clients.jedis.Jedis;   /**  * 測試類  * @author user  *  */ public class JedisTest {       public static void main(String[] args) {         Jedis jedis=new Jedis("192.168.1.107",6379); // 創建客戶端 設置IP和埠         jedis.set("name""java知識分享網"); // 設置值         String value=jedis.get("name"); // 獲取值         System.out.println(value);         jedis.close(); // 釋放連接資源     } }

測試代碼,

運行 報錯了

QQ鎴浘20170708163732.jpg

連接超時,

 

我們配置下防火牆 開一個6379埠許可權

firewall-cmd --zone=public --add-port=6379/tcp --permanent

firewall-cmd --reload

 

繼續運行 還是報錯 連接超時 錯誤;

 

我們配置下 redis配置文件

[root@localhost redis]# vi /usr/local/redis/redis.conf

 

QQ鎴浘20170708164341.jpg

 

這裡綁定了本機,我們把這個備註掉;

# bind 127.0.0.1

 

配置完後 

[root@localhost redis]# ./bin/redis-cli shutdown

[root@localhost redis]# ./bin/redis-server ./redis.conf

要重啟下redis服務;

 

繼續運行 又報錯了

Exception in thread "main" redis.clients.jedis.exceptions.JedisDataException: DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. If you want to connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable protected mode sending the command 'CONFIG SET protected-mode no' from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to 'no', and then restarting the server. 3) If you started the server manually just for testing, restart it with the '--protected-mode no' option. 4) Setup a bind address or an authentication password. NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside.

at redis.clients.jedis.Protocol.processError(Protocol.java:127)

at redis.clients.jedis.Protocol.process(Protocol.java:161)

at redis.clients.jedis.Protocol.read(Protocol.java:215)

at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340)

at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:239)

at redis.clients.jedis.Jedis.set(Jedis.java:121)

at com.java1234.redis.JedisTest.main(JedisTest.java:14)

 

這個是因為遠程連接redis redis自我保護 拒絕訪問;

 

有兩種方法 解決

第一種 直接去掉自我保護功能(不推薦)

[root@localhost redis]# vi /usr/local/redis/redis.conf

進入配置

找到 protected-mode yes

QQ鎴浘20170708164718.jpg

 

改成 no即可

 

編輯後 重啟redis服務,然後運行 ,結果出來了

QQ鎴浘20170708164855.jpg

 

第二種 設置redis連接密碼

進入客戶端

[root@localhost redis]# ./bin/redis-cli

127.0.0.1:6379> config set requirepass 123456

設置密碼 123456

 

127.0.0.1:6379> quit

[root@localhost redis]# ./bin/redis-cli

127.0.0.1:6379> auth 123456

OK

 

說明設置成功

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 package com.java1234.redis;   import redis.clients.jedis.Jedis;   /**  * 測試類  * @author user  *  */ public class JedisTest {       public static void main(String[] args) {         Jedis jedis=new Jedis("192.168.1.107",6379); // 創建客戶端 設置IP和埠         jedis.auth("123456"); // 設置密碼         jedis.set("name""java知識分享網"); // 設置值         String value=jedis.get("name"); // 獲取值         System.out.println(value);         jedis.close(); // 釋放連接資源     } }

QQ鎴浘20170708224324.jpg

 

這樣就OK了

 

轉載於:http://blog.java1234.com/blog/articles/314.html

 

如果redis出現了關閉不了的問題或者其他問題,可以將此線程殺死,然後重新操作就可以(因為有可能操作的時候是上面某步驟出現了問題),殺死線程:

1、查看redis進程;

ps aux|grep redis

2、kill掉進程;

kill 進程id

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 如果已經看過本章節:目錄傳送門:這是目錄鴨~ 1.場景搭建: 首先我們去AssetStore逛淘寶~~~ 我淘到的是這個資源,其他好看的場景(消耗不高的都行)。 然後我們導入了這個資源後,把資源根文件夾的名字改為Select,把Demo場景文件的名字改為Selection,我這樣修改的emmm... ...
  • static void Main(string[] args) { int i = 0; Parallel.For(0, 100, (x) => { Console.WriteLine(i); i++; }); Console.WriteLine($"i is {i}"); Console.Read ...
  • 本教程僅用作個人學習,請勿用於商業獲利,造成後果自負!!! Pycharm安裝 在這插一個小話題哈,Pycharm只是一個編譯器,並不能代替Python,如果要使用Python,還是需要安裝Python的哈 1、Pycharm下載安裝 Pycharm下載 Pycharm官網:http://www.j ...
  • [TOC] 1. 概述 消息隊列可認為是一個消息鏈表,隊列中的每個消息具有如下屬性: 消息優先順序,由發送者賦予 消息數據長度,可以為0 消息數據(如果消息數據長度大於0) Posix消息隊列主要用於線程間消息的傳遞: A線程向隊列中放置消息,B線程從隊列中取出消息 A線程向隊列寫入消息之前,不需要B ...
  • 我們在虛擬機中安裝好centos後,需要手動配置網卡,得到IP。可以先配置臨時IP,然後在遠程連接軟體中配置永久IP。 ...
  • 大多數人都厭煩使用老舊的系統,無論軟體還是硬體。但有的時候又不得不困守其中,堅持延續著系統的壽命,或者還需要點幾柱香,祈求神佛的護佑。 Linux是一個模塊化極好的操作系統,得益於此,當其中有組件落伍之時,大多數情況下,還能通過下載源碼,手工編譯來升級組件,從而保證系統的可用性。 在這個過程中,cU ...
  • 配置Linux使用LDAP用戶認證 本文首發:https://www.cnblogs.com/somata/p/LinuxLDAPUserAuthentication.html 我這裡使用的是CentOS完成的LDAP用戶管理,可能與網上的大部分教程不同,不過寫出來了,那麼是肯定能用的了,不過會有部 ...
  • 準備工作 Ubuntu 獲取地址: "官網" "清華鏡像站" VMware 獲取地址 "鏈接" 安裝過程 Vmware的安裝過程此處不在贅述,不清楚如何安裝的請自行百度,參見 "VMware14安裝教程" 然後就是Vmware中安裝Ubuntu18.04的過程如下: 總結 至此,Ubuntu18.0 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...