Java三種獲取redis的連接及redis_String類型演示(適合新手)
//1> jedis的入門代碼案例,測試連接@Test public void test01(){ //1. 獲取java連接 redis的連接對象 Jedis jedis = new Jedis('node1', 6379); //2. 執行相關操作 String ping = jedis.ping(); System.out.println(ping); //返回PONG,說明連接成功 //3. 釋放資源 jedis.close();}2>第二種:通過redis連接池獲取redis連接,創建連接池的時候需要指定參數,
setmaxTotal(最大連接數),setMaxIdle(不繁忙時最大連接數),setMinIdle(不繁忙時最少連接數);
//2> jedis連接池相關操作 @Test public void test02(){ //1. 創建連接池對象(需要通過配置指定連接池各種情況下有多少連接) JedisPoolConfig config = new JedisPoolConfig(); config.setMaxTotal(50); //連接池最大有多少連接 config.setMaxIdle(25); //不繁忙時最多有多少個 config.setMinIdle(10); //不繁忙時最少有多少個 JedisPool jedisPool = new JedisPool(config, 'node1', 6379); //2. 從連接池獲取一個連接對象 Jedis jedis = jedisPool.getResource(); //3. 執行相關操作 System.out.println(jedis.ping()); //4. 釋放資源 jedis.close(); }3>自定義RedisUtils,利用靜態代碼塊使連接池隨著類的加載只加載一次,防止每次想創建連接的時候都得先構建連接池浪費資源;
public class JedisUtils { private static JedisPool jedisPool; //構造方法私有化 private JedisUtils(){} static { //靜態代碼塊:隨著類的加載而加載,一般只會加載一次 JedisPoolConfig config = new JedisPoolConfig(); config.setMaxTotal(50); //連接池最大有多少連接 config.setMaxIdle(25); //不繁忙時最多有多少個 config.setMinIdle(10); //不繁忙時最少有多少個 jedisPool = new JedisPool(config, 'node1', 6379); } //提供方法獲取jedis連接對象 public static Jedis getJedis(){ return jedisPool.getResource(); }}3.1>測試工具類
//3> 測試工具類 @Test public void test03(){ //1. 從工具類獲取連接 Jedis jedis = JedisUtils.getJedis(); //2. 執行相關操作(測試連接) System.out.println(jedis.ping()); //3. 釋放資源(歸還) jedis.close(); }4> redis的五種數據類型
字符串:String特點: 存儲所有的字符和字符串應用場景: 做緩存使用
哈希 :hash特點: 相當于java中hashMap集合應用場景: 可以存儲javaBean對象, 使用場景不多,可被String替代
list:集合特點: 相當于java中linkList, 是一個鏈表的結構應用場景: 做任務隊列,在java中客戶端提供了線程安全獲取集合數據的方式
set :集合特點: 唯一, 無序應用場景: 集合運算,例如去重復的操作應用場景: 一般用來做排行榜
有序set集合: sorted set特點:唯一, 有序
4.1> 使用jedis操作redis_String(String類型)//4.使用jedis操作redis_string @Test public void test04() throws Exception{ //1. 從工具類獲取連接 Jedis jedis = JedisUtils.getJedis(); //2. 執行相關操作,(操作redis中String類型) String ping = jedis.ping(); if ('PONG'.equalsIgnoreCase(ping)){ //進去說明正常連接到redis //2.1 設置數據 jedis.set('name','索隆'); jedis.set('age','25'); //2.2 獲取數據 String name = jedis.get('name'); String age = jedis.get('age'); System.out.println(name+' '+age); System.out.println('-----------------------------'); //2.3 自增 +1 jedis.incr('age'); jedis.incr('age'); jedis.incr('age'); jedis.incr('age'); //2.4 自減 -1 jedis.decr('age'); jedis.decr('age'); //2.5 獲取age的值 System.out.println('年齡為:'+jedis.get('age')); System.out.println('------------------------------'); //2.6 設置過期時間: 為新創建的key設置過期時間 setex jedis.setex('birthday',10,'1997-11-11'); //2.7 獲取有效時間 :ttl while(jedis.exists('birthday')){ //進來就說明還存在Long ttl = jedis.ttl('birthday');System.out.println('有效時間還有' + ttl);//睡眠Thread.sleep(1000); } } //3. 釋放資源(歸還) jedis.close(); }
到此這篇關于Java三種獲取redis的連接及redis_String類型演示(適合新手)的文章就介紹到這了,更多相關Java獲取redis連接內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: