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ì)象不是線(xiàn)城安全的,所以在實(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)文章
Java回調(diào)函數(shù)原理實(shí)例與代理模式的區(qū)別講解
今天小編就為大家分享一篇關(guān)于Java回調(diào)函數(shù)原理實(shí)例與代理模式的區(qū)別講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02通過(guò)IEAD+Maven快速搭建SSM項(xiàng)目的過(guò)程(Spring + Spring MVC + Mybatis)
這篇文章主要介紹了通過(guò)IEAD+Maven快速搭建SSM項(xiàng)目的過(guò)程(Spring + Spring MVC + Mybatis),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01

記一次springboot服務(wù)凌晨無(wú)故宕機(jī)問(wèn)題的解決

jpa實(shí)現(xiàn)多對(duì)多的屬性時(shí)查詢(xún)的兩種方法

Maven中Junit測(cè)試@Test等注解無(wú)法識(shí)別的問(wèn)題及解決

詳解Spring Boot Mysql 版本驅(qū)動(dòng)連接池方案選擇