使用Jedis遠程連接Redis時的小插曲

Jedis是連接redis的主流集成工具。

從Maven依賴庫庫中下載兩個jar包,分別是commons-pool2-2.4.2.jar和jedis-2.9.0.jar,版本不作要求。將這個兩個jar包導入到工程中,然後開始編寫程序。

先寫一個簡單的測試用例:

           

其中192.168.94.129是我Linux虛擬機的ip地址,在保證虛擬機上開啓redis服務的前提下,運行測試用例,發現連接失敗,怎麼回事?

原來又是Linux防火牆,Linux防火牆將6379端口攔截掉了,那我們就在Linux系統上將6379端口打開:

[root@localhost redis]# /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
[root@localhost redis]# /etc/rc.d/init.d/iptables save

然後再運行一次測試用例,發現和剛纔一樣,還是連接超時,一大堆的異常,這又是怎麼回事呢?端口已經打開了呀!

可是仔細觀察就會發現,在Linux虛擬機上連接到Redis服務的時候顯示是127.0.0.1:6379>,那我們把ip換成127.0.0.1試一下,很遺憾,失敗了。

是不是配置文件搞的鬼呢?我們進入redis.conf文件看一下,果然!有這麼一段話:

bind後邊指明的ip地址纔是訪問redis的合法地址,所以我們在其下邊加入bind 192.168.94.129之後保存退出。

此時我們重新啓動redis服務:

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

然後再運行一次測試代碼,哇,一抹綠色終於出現了,終於連接成功,可以用Java代碼來操作redis啦,redis有什麼指令,Jedis就有什麼方法,所以Jedis的API根本不用去記,只要知道Redis有哪些常用的指令就好啦!

OK,問題解決啦,繼續你的旅程吧!加油。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章