RedisTemplate中opsForValue和opsForList方法的使用詳解
更新時間:2021年08月04日 11:26:40 作者:力先生
這篇文章主要介紹了RedisTemplate中opsForValue和opsForList方法的使用詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
一、opsForValue用法
key:字符串,value:可以是任意對象Object(例如String、具體對象如自定義類Student等),一個key只能對應(yīng)一個value。
1)value為String類型示例:
//賦值方法 redisTemplate.opsForValue().set("username1","wangxinli"); redisTemplate.opsForValue().set("username2","yanxiaotang"); redisTemplate.opsForValue().set("username3","zhangguoshun"); //取值,返回是String類型 String str1 = redisTemplate.opsForValue().get("username1"); String str2 = redisTemplate.opsForValue().get("username2"); String str3 = redisTemplate.opsForValue().get("username3");
2)value為其他類對象Object(例如自定義對象)
//賦值方法 redisTemplate.opsForValue().set("stu1",new Student(1,"張三",20,"張無忌")); redisTemplate.opsForValue().set("stu2",new Student(2,"李四",20,"張真人")); //取值,返回是Student類型 Student stu1 = redisTemplate.opsForValue().get("stu1"); Student stu2 = redisTemplate.opsForValue().get("stu2");
總結(jié):set時value傳的是什么類型,get后返回的就是什么類型。
二、opsForList用法
key:字符串,value:可以是任意對象Object(例如String、具體對象如自定義類Student等),一個key可以分別先后添加多個value。
1)value為String類型示例:
redisTemplate.opsForList().rightPush("user_list","wangxinli"); redisTemplate.opsForList().rightPush("user_list","yanxiaotang"); //push時value傳的是什么類型,range方法后接受的list<>中就傳什么類型 List<String> lists = redisTemplate.opsForList().range("user_list",0,-1); for(String str:lists){ System.out.println(str); }
2)value為其他類對象Object(例如自定義對象)
//賦值方法 redisTemplate.opsForList().leftPush("stu_list",new Student(1,"張三",20,"張無忌")); redisTemplate.opsForList().leftPush("stu_list",new Student(2,"李四",20,"張真人")); /** leftPushAll方法的value值為數(shù)組或list集合,該方法會將value值一次性全部追加存入到該key 值對應(yīng)的內(nèi)容中;一般情況下同一個key值對應(yīng)的追加的數(shù)據(jù)類型要保持一致,像下面那樣先 往stu_list中添加Student對象,再往其中追加list集合或數(shù)組,這樣的操作不常見,也無必要。 */ redisTemplate.opsForList().leftPushAll("stu_list",stuArr); //取值,返回是Student類型 List<Student> lists = redisTemplate.opsForList().range("stu_list",0,-1); //遍歷 for(Student stu:lists){ System.out.println(stu); }
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java數(shù)據(jù)結(jié)構(gòu)之LinkedList從鏈表到實現(xiàn)
LinkedList是Java中常用的數(shù)據(jù)結(jié)構(gòu)之一,實現(xiàn)了鏈表的特性,支持快速添加、刪除元素,可以用于實現(xiàn)隊列、棧、雙向隊列等數(shù)據(jù)結(jié)構(gòu)。LinkedList的內(nèi)部實現(xiàn)采用了雙向鏈表,其中每個節(jié)點都包含前驅(qū)節(jié)點和后繼節(jié)點的引用,可以直接訪問鏈表的頭尾元素2023-04-04利用Spring?boot+LogBack+MDC實現(xiàn)鏈路追蹤
這篇文章主要介紹了利用Spring?boot+LogBack+MDC實現(xiàn)鏈路追蹤,MDC?可以看成是一個與當前線程綁定的哈希表,可以往其中添加鍵值對,下文詳細介紹需要的小伙伴可以參考一下2022-04-04