JAVA進階之路-redis基礎連接以及使用

準備階段:

1、下載vm virtualBox虛擬機

2、創建好Ubuntu (重點:創建完記得設置網絡連接方式爲橋接)
3、進入系統以後輸入一下命令下載redis的解壓文件.

wget http://download.redis.io/releases/redis-2.8.17.tar.gz://download.redis.io/releases/redis-2.8.17.tar.gz


tar xzf redis-2.8.3.tar.gz 解壓到當前文件(解壓完以後,如果希望放在當前目錄下面可以使用rm命令轉移到自己想要目錄下)

然後我們進入到文件下 cd redis-2.8.3 然後進行編譯 輸入 make 回車

  編譯完成後,在Src目錄下,有四個可執行文件redis-serverredis-benchmarkredis-cliredis.conf  爲了好找到這四個文件你可以新建 一 個文件夾然後把他們全部存到一個文件夾下.

4、啓動redis服務

  redis-server是開啓服務的命令, reids.conf是配置redis的文件.可以使用redis-server直接開啓redis命令,他會直接調用默認的reds.conf。

 

4、客戶端連接
 redis-cli    這時我們就能連接到redis了,我們可以輸入ping回車,如果成功連接了的話,他會返回個pong給你,這時,我們reids就已經連接完成了。

 

redis配置完成以後,我們需要在java連接redis,java連接redis需要準備一個jedis的jar包,準備完成以後我們就可以直接開始擼碼了.

package com.ceshi.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); // 這裏輸入你虛擬機的地址
        jedis.auth("123456")
        jedis.set("name", "javaxk"); // 設置值       //一下操作就是直接操作redis了
        String value=jedis.get("name"); // 獲取值
        System.out.println(value);
        jedis.close(); // 釋放連接資源
    }
}

如果連接成功就會直接輸入name的值來。

連接失敗的原因也有幾種
1、connect time out   連接超時,可能是你虛擬機開了防火牆,導致本機連不到你的虛擬機,這時我們可以配置一下防火牆,因爲redis的默認端口是6379,因此我麼只要把防火牆的6379端口開放就可以解決這問題

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

firewall-cmd --reload

1.1 

如果輸入以上命令出現  FirewallD is not running 的錯 可能是因爲防火牆沒有開啓。可以使用 systemctl status firewalld 命令查看防火牆狀態 如果看到 Active:inactive(dead) 就是防火牆並沒開啓 可以使用 systemctl start firewalld 開啓以後可以再使用命令去查看防火牆狀態 如果出現 Active:inactive(running) 就表示已開啓。

開放以後如果還是連接超時我們配置一下redis.conf這個文件,找到bind 123.0.0.1這行然後將這行註釋掉.這行的意思就是綁定127.0.0.1這個ip只允許這個ip訪問此redis,因此我們將其註釋掉就可以解決問題.

接下再運行基本就能運行成功了!

爲了增加redis連接的安全性,我們通常都會給redis設置密碼,所以我們接下來就將密碼也一同設置了。

進入已連接的redis客戶端 輸入config set requirepass 123456    設置密碼爲123456.這時我們連接redis就需要輸入密碼進行連接了。
客戶端輸入密碼登錄  輸入auth 123456 返回 ok就說明登錄成功了。
我們java連接 

 

package com.ceshi.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); // 這裏輸入你虛擬機的地址
        jedis.auth("123456");
        jedis.set("name", "javaxk"); // 設置值       //一下操作就是直接操作redis了
        String value=jedis.get("name"); // 獲取值
        System.out.println(value);
        jedis.close(); // 釋放連接資源

}}這樣就能連接上了!

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