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
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...