redis之路(二):使用Jedis連接Redis

前言

實際開發中,我們需要用Redis的連接工具連接Redis然後操作Redis,

對於主流語言,Redis都提供了對應的客戶端;可以到redis官網查看對應的客戶端

點擊Clients
在這裏插入圖片描述
可以看到都對那些語言提供了客戶端,點擊Java,查看對java語言提供的客戶端

在這裏插入圖片描述
在這裏插入圖片描述

第一新建maven項目

新建一個新的maven項目
在這裏插入圖片描述

第二添加Jedis依賴

在pom文件添加maven依賴

<dependency>
   <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>

出現這兩個jar包說明依賴添加成功
在這裏插入圖片描述

第三Redis後臺運行

查看redis是否運行了

ps -ef | grep -i redis

在這裏插入圖片描述
從圖上可以看出,redis-server 目前正在6379 端口運行

如果沒有運行,開啓後臺運行並配置密碼

bin/redis-server redis.conf

bin/redis-cli

config set requirepass 123456

在這裏插入圖片描述
在這裏插入圖片描述

第四開放6379端口

package com.honger1234;

import redis.clients.jedis.Jedis;

public class JedisTest {
	public static void main(String[] args) {
		Jedis jedis = new Jedis("172.16.150.128", 6379);
		jedis.auth("123456");
		jedis.set("name", "honger1234");
		String value = jedis.get("name");
		System.out.println(value);
		jedis.close();
	}
}

運行測試代碼,報錯,連接超時
在這裏插入圖片描述
開放6379端口,並重啓防火牆

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

firewall-cmd --reload

第五修改連接綁定

運行測試代碼,還是報連接超時錯誤

這是因爲redis的配置文件中綁定了只能由本地連接

修改啓動的配置文件

vi /usr/local/redis/redis.conf

在這裏插入圖片描述
把圖中的代碼前面加上#註釋掉,保存退出

第六設置Redis密碼

運行測試代碼,還是報錯,這次報的是保護模式錯誤

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

這裏有兩種解決方法,一種是設置redis密碼(推薦使用),一種是去掉redis的自我保護(不推薦)

1.設置密碼

進入redis客戶端

/usr/local/redis/bin/redis-cli

設置密碼

config set requirepass 123456

2.去掉redis的自我保護

修改redis的配置文件

vi /usr/local/redis/redis.conf

在這裏插入圖片描述
將圖中的yes改爲no,保存退出

運行測試代碼
在這裏插入圖片描述
表示連接成功

第七使用鏈接池

改用連接池連接

package com.honger1234;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class JedisPoolTest {
	public static void main(String[] args) {
		JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
		jedisPoolConfig.setMaxTotal(100);// 設置最大連接數
		jedisPoolConfig.setMaxIdle(10);// 設置最大空閒數

		JedisPool jedisPool = null;
		Jedis jedis = null;
		try {
			jedisPool = new JedisPool(jedisPoolConfig, "172.16.150.128", 6379);
			jedis = jedisPool.getResource();
			jedis.auth("123456");
			jedis.set("name", "honger1234");
			String value = jedis.get("name");
			System.out.println(value);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			jedis.close();
			jedisPool.close();
		}
	}
}

運行測試連接
在這裏插入圖片描述
表示成功

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