Java使用Redis及其優(yōu)化詳解
前言
所有堅(jiān)韌不拔的努力遲早會(huì)取得報(bào)酬的?!?安格爾
開(kāi)啟遠(yuǎn)程連接
Redis默認(rèn)是不支持遠(yuǎn)程連接的,這里需要手動(dòng)開(kāi)啟遠(yuǎn)程連接。
關(guān)閉本機(jī)IP綁定,允許遠(yuǎn)程連接。找到redis.conf中的bind:127.0.0.1將其注釋。

開(kāi)啟密碼校驗(yàn)。找到redis.conf中的requirepass去掉其注釋并設(shè)置密碼。

Jedis連接Redis
創(chuàng)建一個(gè)Maven項(xiàng)目,導(dǎo)入Jedis依賴(lài)。
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<type>jar</type>
<scope>compile</scope>
</dependency>
測(cè)試鏈接是否成功。
public static void main(String[] args) {
//創(chuàng)建Jedis對(duì)象 如果使用的是默認(rèn)端口 則可忽略 (本次使用的是Docker創(chuàng)建的Redis)
Jedis jedis = new Jedis("127.0.0.1", 6379);
//密碼認(rèn)證
jedis.auth("123456");
//測(cè)試連接
String res = jedis.ping();
//輸出PONG表示連接成功 拋出異常則失敗
System.out.println(res);
}

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

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

緊接著再去redis中查看剛才寫(xiě)入的gender。

Jedis中提供的方法和Redis的命令基本上是一樣的,所以這里的操作就不做過(guò)多的贅述了。

封裝Jedis進(jìn)行操作
Jedis對(duì)象不是線城安全的,所以在實(shí)際開(kāi)發(fā)中,一般我們都是通過(guò)連接池來(lái)獲取,使用完成后再還給連接池。
public interface JedisCall {
void call(Jedis jedis);
}
public class RedisDemo {
private JedisPool jedisPool;
public RedisDemo(){
GenericObjectPoolConfig config = new GenericObjectPoolConfig();
//設(shè)置連接池最大空閑數(shù)
config.setMaxIdle(100);
//最大連接數(shù)
config.setMaxTotal(300);
//設(shè)置最大等待時(shí)間 -1表示無(wú)限制
config.setMaxWaitMillis(30000);
//開(kāi)啟空閑時(shí)間檢查有效性
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
//做一些操作
});
}
}
到此這篇關(guān)于Java使用Redis及其優(yōu)化詳解的文章就介紹到這了,更多相關(guān)Java使用Redis優(yōu)化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
maven配置多個(gè)鏡像的實(shí)現(xiàn)方法
這篇文章主要介紹了maven配置多個(gè)鏡像的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
使用java web 在jsp文件及Class中連接MySQL和SQLserver 的驅(qū)動(dòng)方法
這篇文章主要介紹了使用java web 在jsp文件及Class中連接MySQL和SQLserver的驅(qū)動(dòng)方法的相關(guān)資料,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10
SpringBoot使用Jasypt對(duì)配置文件和數(shù)據(jù)庫(kù)密碼加密
在做數(shù)據(jù)庫(kù)敏感信息保護(hù)時(shí),應(yīng)加密存儲(chǔ),本文就來(lái)介紹一下SpringBoot使用Jasypt對(duì)配置文件和數(shù)據(jù)庫(kù)密碼加密,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02
Mybatis自定義攔截器實(shí)現(xiàn)權(quán)限功能
本文主要介紹了Mybatis自定義攔截器實(shí)現(xiàn)權(quán)限功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
詳解Spring依賴(lài)注入的三種方式以及優(yōu)缺點(diǎn)
IoC?和?DI?是?Spring?中最重要的兩個(gè)概念,其中?IoC(Inversion?of?Control)為控制反轉(zhuǎn)的思想,而?DI(Dependency?Injection)依賴(lài)注入為其(IoC)具體實(shí)現(xiàn)。那么?DI?實(shí)現(xiàn)依賴(lài)注入的方式有幾種?這些注入方式又有什么不同?本文就來(lái)和大家一起詳細(xì)聊聊2022-08-08
利用Mybatis向PostgreSQL中插入并查詢(xún)JSON字段
這篇文章主要介紹了利用Mybatis向PostgreSQL中插入并查詢(xún)JSON字段,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07

