Java使用Redis及其優化詳解

前言

所有堅韌不拔的努力遲早會取得報酬的。—— 安格爾

開啟遠程連接

Redis默認是不支持遠程連接的,這裡需要手動開啟遠程連接。

關閉本機IP綁定,允許遠程連接。找到redis.conf中的bind:127.0.0.1將其註釋。

在這裡插入圖片描述

開啟密碼校驗。找到redis.conf中的requirepass去掉其註釋並設置密碼。

在這裡插入圖片描述

Jedis連接Redis

創建一個Maven項目,導入Jedis依賴。

<dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <type>jar</type>
            <scope>compile</scope>
</dependency>

測試鏈接是否成功。

public static void main(String[] args) {
        //創建Jedis對象 如果使用的是默認端口 則可忽略 (本次使用的是Docker創建的Redis)
        Jedis jedis = new Jedis("127.0.0.1", 6379);
        //密碼認證
        jedis.auth("123456");
        //測試連接
        String res = jedis.ping();
        //輸出PONG表示連接成功 拋出異常則失敗
        System.out.println(res);
    }

在這裡插入圖片描述

使用Redis中寫入一些值。不熟悉基本操作的可以查看Redis基本操作。

在這裡插入圖片描述

//獲取值
System.out.println(jedis.get("name"));
//寫入值
String result = jedis.set("gender", "male");
System.out.println(result);

在這裡插入圖片描述

緊接著再去redis中查看剛才寫入的gender

在這裡插入圖片描述

Jedis中提供的方法和Redis的命令基本上是一樣的,所以這裡的操作就不做過多的贅述瞭。

在這裡插入圖片描述

封裝Jedis進行操作

Jedis對象不是線城安全的,所以在實際開發中,一般我們都是通過連接池來獲取,使用完成後再還給連接池。

public interface JedisCall {
    void call(Jedis jedis);
}
public class RedisDemo {

    private JedisPool jedisPool;

    public RedisDemo(){
        GenericObjectPoolConfig config = new GenericObjectPoolConfig();
        //設置連接池最大空閑數
        config.setMaxIdle(100);
        //最大連接數
        config.setMaxTotal(300);
        //設置最大等待時間 -1表示無限制
        config.setMaxWaitMillis(30000);
        //開啟空閑時間檢查有效性
        config.setTestOnBorrow(true);
        //連接redis
        jedisPool = new JedisPool(config, "127.0.0.1", 6379, 30000);
    }

    public void execute(JedisCall jedisCall) {
    	//try resource
        try (Jedis jedis = jedisPool.getResource()) {
            jedisCall.call(jedis);
        }
    }
}
public class JedisTest {
    public static void main(String[] args) {
        RedisDemo redisDemo = new RedisDemo();
        redisDemo.execute(jedis -> {
            //TODO
			//做一些操作
        });
    }
}

到此這篇關於Java使用Redis及其優化詳解的文章就介紹到這瞭,更多相關Java使用Redis優化內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: