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!
推薦閱讀:
- SpringBoot集成Redis並實現主從架構的實踐
- Java連接Redis全過程講解
- 一文搞懂Java中對象池的實現
- Java與SpringBoot對redis的使用方式
- 教你怎麼用Java操作Redis