三種獲取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. 執行相關操作
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();
}
相關文章
- 06-redis的三種特殊型別Redis型別
- Redis 三種特殊資料型別Redis資料型別
- js實現的微信獲取當前網路連線型別JS型別
- Redis 中三種特殊的資料型別Redis資料型別
- SSL數字證書應該選哪種?這三種型別哪種適合你!型別
- Redis多種資料型別以及使用場景Redis資料型別
- jdbc獲取各種資料庫連線JDBC資料庫
- c++ 獲取顯示器的連線埠型別(VGA,HDMI,DVI等等)C++型別
- jdbc獲取對各種資料庫的連線JDBC資料庫
- 哪一種學習型別適合你——資訊圖型別
- redis的幾種型別解析Redis型別
- Java反射獲取位元組碼以及判斷型別Java反射型別
- Redis 三種特殊資料型別之 BitmapsRedis資料型別
- 【Redis】Redis的資料型別速查(5種基礎型別,5特殊型別)Redis資料型別
- SQL的連線型別SQL型別
- 兩表連線三:合併連線
- 選擇合適的資料型別資料型別
- Redis 三種特殊資料型別之 HyperloglogRedis資料型別
- docker 安裝redis 以及配置連線DockerRedis
- Linux之哪種安裝型別最適合你(轉)Linux型別
- Oracle獲取連線的IP地址Oracle
- 表連線型別型別
- 適合新手小白的UI學習路線完整版UI
- Activiti獲取ProcessEngine的三種方法
- 獲取 iOS 裝置的型別iOS型別
- 【Azure Redis 快取 Azure Cache For Redis】Redis連線池Redis快取
- 資料庫的連線、索引和Redis的五種資料型別及其操作命令、使用場景資料庫索引Redis資料型別
- 選擇適合的型別判斷方式型別
- redis部署以及各種資料型別使用命令等詳解Redis資料型別
- git命令使用(適合新手)Git
- oracle的三種型別的程式Oracle型別
- [Redis] 淺談Redis內的幾種資料型別Redis資料型別
- 適合新手的鏈棧程式碼
- 講解關於蘋果開發者賬號的三種型別以及區別有哪些蘋果型別
- Oracle的三種表連線方式Oracle
- [Redis 系列]redis 學習五,多學習一些 redis 的三種特殊資料型別Redis資料型別
- 獲取表單物件的三種方法物件
- PHP 獲取裝置型別PHP型別