Java三種獲取redis的連接及redis_String類型演示(適合新手)
0>確保redis進程服務開啟
1>第一種:直接獲取redis連接,通過redis.()方法測試連接,如果返回PONG則證明連接正常
//1> jedis的入門代碼案例,測試連接
@Test
public void test01(){
//1. 獲取java連接 redis的連接對象
Jedis jedis = new Jedis("node1", 6379);
//2. 執(zhí)行相關操作
String ping = jedis.ping();
System.out.println(ping); //返回PONG,說明連接成功
//3. 釋放資源
jedis.close();
}
2>第二種:通過redis連接池獲取redis連接,創(chuàng)建連接池的時候需要指定參數,
setmaxTotal(最大連接數),
setMaxIdle(不繁忙時最大連接數),
setMinIdle(不繁忙時最少連接數);
//2> jedis連接池相關操作
@Test
public void test02(){
//1. 創(chuàng)建連接池對象(需要通過配置指定連接池各種情況下有多少連接)
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. 執(zhí)行相關操作
System.out.println(jedis.ping());
//4. 釋放資源
jedis.close();
}
3>自定義RedisUtils,利用靜態(tài)代碼塊使連接池隨著類的加載只加載一次,防止每次想創(chuàng)建連接的時候都得先構建連接池浪費資源;
public class JedisUtils {
private static JedisPool jedisPool;
//構造方法私有化
private JedisUtils(){}
static {
//靜態(tài)代碼塊:隨著類的加載而加載,一般只會加載一次
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. 執(zhí)行相關操作(測試連接)
System.out.println(jedis.ping());
//3. 釋放資源(歸還)
jedis.close();
}
4> redis的五種數據類型
字符串:String
特點: 存儲所有的字符和字符串
應用場景: 做緩存使用
哈希 :hash
特點: 相當于java中hashMap集合
應用場景: 可以存儲javaBean對象, 使用場景不多,可被String替代
list:集合
特點: 相當于java中l(wèi)inkList, 是一個鏈表的結構
應用場景: 做任務隊列,在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. 執(zhí)行相關操作,(操作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 設置過期時間: 為新創(chuàng)建的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連接內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- Redis教程(二):String數據類型
- RedisTemplate常用操作方法總結(set、hash、list、string等)
- Python操作redis實例小結【String、Hash、List、Set等】
- Redis String 類型和 Hash 類型學習筆記與總結
- 淺談RedisTemplate和StringRedisTemplate的區(qū)別
- Redis?存儲對象信息用?Hash?和String的區(qū)別
- Redis中的String類型及使用Redis解決訂單秒殺超賣問題
- Redis基本數據類型String常用操作命令
- Redis02 使用Redis數據庫(String類型)全面解析
- 一文搞懂Redis最常用String字符串技能
相關文章
Java Web項目中使用Socket通信多線程、長連接的方法
很多時候在javaweb項目中我們需要用到Socket通信來實現功能,在web中使用Socket我們需要建立一個監(jiān)聽程序,在程序啟動時,啟動socket監(jiān)聽。接下來通過本文給大家介紹Java Web項目中使用Socket通信多線程、長連接的方法,感興趣的朋友一起學習2016-04-04
idea沒有services窗口、沒有springboot啟動項問題
這篇文章主要介紹了idea沒有services窗口、沒有springboot啟動項問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
springcloud項目占用內存好幾個G導致服務器崩潰的問題
這篇文章主要介紹了springcloud項目占用內存好幾個G導致服務器崩潰的問題,本文給大家分享解決方案供大家參考,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10

