您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關如何在java項目中使用redis,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
1、首先下載jar包放到你的工程中
2、練習
package com.jianyuan.redisTest; import java.util.Iterator; import java.util.List; import java.util.Set; import redis.clients.jedis.Jedis; public class RedisTest { public static void main(String[] args) { //連接本地的Redis服務 Jedis jedis = new Jedis("127.0.0.1",6379); //權限認證 jedis.auth("wenhongyu66"); jedis.select(0); System.out.println("連接成功"); //查看服務是否運行 System.out.println(jedis.ping()); //設置 redis 字符串數據 jedis.set("runoobkey", "www.runoob.com"); // 獲取存儲的數據并輸出 System.out.println("redis 存儲的字符串為: "+ jedis.get("runoobkey")); //存儲數據到列表中 jedis.lpush("site-list", "Runoob"); jedis.lpush("site-list", "Google"); jedis.lpush("site-list", "Taobao"); System.out.println(jedis.llen("site-list")); // 獲取存儲的數據并輸出 List<String> list = jedis.lrange("site-list", 0 ,jedis.llen("site-list")); for(int i=0; i<list.size(); i++) { System.out.println("列表項為: "+list.get(i)); } // 獲取數據并輸出 Set<String> keys = jedis.keys("*"); Iterator<String> it=keys.iterator() ; while(it.hasNext()){ String key = it.next(); System.out.println(key); } } }
總結:自己可以封裝一些工具類方便使用,包括連接池的配置,jedis參數的配置等。
private static JedisPool jedisPool = null; private static Jedis jedis; static { jedis = getJedisPool().getResource(); } /** * 構建redis連接池 */ public static JedisPool getJedisPool() { if (jedisPool == null) { JedisPoolConfig config = new JedisPoolConfig(); config.setMaxTotal(1024); // 可用連接實例的最大數目,如果賦值為-1,表示不限制. config.setMaxIdle(5); // 控制一個Pool最多有多少個狀態為idle(空閑的)jedis實例,默認值也是8 config.setMaxWaitMillis(1000 * 100); // 等待可用連接的最大時間,單位毫秒,默認值為-1,表示永不超時/如果超過等待時間,則直接拋出異常 config.setTestOnBorrow(true); // 在borrow一個jedis實例時,是否提前進行validate操作,如果為true,則得到的jedis實例均是可用的 jedisPool = new JedisPool(config, "127.0.0.1", 6379); } return jedisPool; } /** * 釋放jedis資源 */ public static void returnResource(Jedis jedis) { if (jedis != null) { jedis.close(); } } public static String get(String key) { String value = null; Jedis jedis = null; try { JedisPool pool = getJedisPool(); jedis = pool.getResource(); value = jedis.get(key); } catch (Exception e) { returnResource(jedis); e.printStackTrace(); } finally { returnResource(jedis); } return value; }
RedisTemplate封裝了從JedisPool中取jedis以及返回池中
public class RedisTemplate { private JedisPool jedisPool; public RedisTemplate(JedisPool jedisPool) { this.jedisPool = jedisPool; } public <T> T execute(RedisCallback<T> callback) { Jedis jedis = jedisPool.getResource(); try { return callback.handle(jedis); } catch (Exception e) { // throw your exception throw e; } finally { returnResource(jedis); } } private void returnResource(Jedis jedis) { if (jedis != null) { jedis.close(); } } } public interface RedisCallback<T> { public T handle(Jedis jedis); }
以上就是如何在java項目中使用redis,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。