這篇文章主要介紹“Spring Data redis的功能及使用方法”,在日常操作中,相信很多人在Spring Data Redis的功能及使用方法問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Spring Data Redis的功能及使用方法”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
為金東等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及金東網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、金東網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
SpringDataRedis是Spring大家族中的一部分,提供了在Spring應(yīng)用中通過(guò)簡(jiǎn)單的配置訪問(wèn)redis服務(wù),對(duì)redis底層開發(fā)包進(jìn)行了高度封裝,RedisTemplate提供了redis各種操作,異常處理及序列化,支持分布訂閱,并對(duì)spring3.1cache進(jìn)行了實(shí)現(xiàn)。
SpringDataRedis提供的功能:
1、連接池自動(dòng)管理,提供了一個(gè)高度封裝的RedisTemplate類
2、針對(duì)Jedis客戶端中大量的API進(jìn)行了歸類封裝,將同一類型操作封裝為operation接口
ValueOperations:簡(jiǎn)單K-V操作
SetOperations:set類型數(shù)據(jù)操作
ZSetOperations:zset類型數(shù)據(jù)操作
HashOperations:針對(duì)map類型的數(shù)據(jù)操作
ListOperations:針對(duì)list類型的數(shù)據(jù)操作
入門案例:
1、導(dǎo)入依賴
org.springframework.boot spring-boot-starter-data-redis org.springframework.boot spring-boot-starter-test
2、創(chuàng)建啟動(dòng)類
@SpringBootApplication public class RedisApplication { public static void main(String[] args) { SpringApplication.run(RedisApplication.class); } }
3、操作值類型
@RunWith(SpringRunner.class) @SpringBootTest public class RedisTests { @Autowired private RedisTemplate template; @Test public void setValue (){ template.boundValueOps("name").set("lianbang.wu"); } @Test public void getValue(){ String str =(String) template.boundValueOps("name").get(); System.out.println(str); } @Test public void deleteValue(){ template.delete("name"); } }
4、操作set類型
@Test public void setValue(){ template.boundSetOps("nameset").add("讀者1"); template.boundSetOps("nameset").add("讀者2"); template.boundSetOps("nameset").add("讀者3"); } @Test public void getValue(){ Set members = template.boundSetOps("nameset").members(); System.out.println(members); } @Test public void deleteValue(){ template.boundSetOps("nameset").remove("讀者1"); } @Test public void deleteAll(){ template.delete("nameset"); }
5、 操作List
@Test public void testSetValue(){ template.boundListOps("namelist1").rightPush("讀者1"); template.boundListOps("namelist1").leftPush("讀者2"); } @Test public void testGetValue(){ List namelist1 = template.boundListOps("namelist1").range(0, 10); System.out.println(namelist1); } @Test public void testSearechIndex(){ Object namelist1 = template.boundListOps("namelist1").index(1); System.out.println(namelist1); } @Test public void testRemoveByIndex(){ template.boundListOps("namelist1").remove(1,"讀者1"); }
6、操作Hash類型
@Test public void testSetValue(){ template.boundHashOps("namehash").put("a","讀者1"); template.boundHashOps("namehash").put("b","讀者2"); } @Test public void testGetKeys(){ Set s = template.boundHashOps("namehash").keys(); System.out.println(s); } @Test public void testGetValue(){ List values = template.boundHashOps("namehash").values(); System.out.println(values); } @Test public void testGetValueByKey(){ Object o = template.boundHashOps("namehash").get("a"); System.out.println(o); } @Test public void testRemoveValueByKey(){ template.boundHashOps("namehash").delete("b"); }
到此,關(guān)于“Spring Data Redis的功能及使用方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!