溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

RedisTemplate中opsForValue和opsForList方法如何使用

發(fā)布時(shí)間:2021-08-04 13:49:46 來(lái)源:億速云 閱讀:1677 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

RedisTemplate中opsForValue和opsForList方法如何使用,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

一、opsForValue用法

key:字符串,value:可以是任意對(duì)象Object(例如String、具體對(duì)象如自定義類(lèi)Student等),一個(gè)key只能對(duì)應(yīng)一個(gè)value。

1)value為String類(lèi)型示例:

//賦值方法
redisTemplate.opsForValue().set("username1","wangxinli");
redisTemplate.opsForValue().set("username2","yanxiaotang");
redisTemplate.opsForValue().set("username3","zhangguoshun");
//取值,返回是String類(lèi)型
String str1 = redisTemplate.opsForValue().get("username1");
String str2 = redisTemplate.opsForValue().get("username2");
String str3 = redisTemplate.opsForValue().get("username3");

2)value為其他類(lèi)對(duì)象Object(例如自定義對(duì)象)

//賦值方法
redisTemplate.opsForValue().set("stu1",new Student(1,"張三",20,"張無(wú)忌"));
redisTemplate.opsForValue().set("stu2",new Student(2,"李四",20,"張真人"));
//取值,返回是Student類(lèi)型
Student stu1 = redisTemplate.opsForValue().get("stu1");
Student stu2 = redisTemplate.opsForValue().get("stu2");

總結(jié):set時(shí)value傳的是什么類(lèi)型,get后返回的就是什么類(lèi)型。

二、opsForList用法

key:字符串,value:可以是任意對(duì)象Object(例如String、具體對(duì)象如自定義類(lèi)Student等),一個(gè)key可以分別先后添加多個(gè)value。

1)value為String類(lèi)型示例:

redisTemplate.opsForList().rightPush("user_list","wangxinli");
redisTemplate.opsForList().rightPush("user_list","yanxiaotang");
//push時(shí)value傳的是什么類(lèi)型,range方法后接受的list<>中就傳什么類(lèi)型
List<String> lists = redisTemplate.opsForList().range("user_list",0,-1);
for(String str:lists){
 System.out.println(str);
}

2)value為其他類(lèi)對(duì)象Object(例如自定義對(duì)象)

//賦值方法
redisTemplate.opsForList().leftPush("stu_list",new Student(1,"張三",20,"張無(wú)忌"));
redisTemplate.opsForList().leftPush("stu_list",new Student(2,"李四",20,"張真人"));
/**
leftPushAll方法的value值為數(shù)組或list集合,該方法會(huì)將value值一次性全部追加存入到該key
值對(duì)應(yīng)的內(nèi)容中;一般情況下同一個(gè)key值對(duì)應(yīng)的追加的數(shù)據(jù)類(lèi)型要保持一致,像下面那樣先
往stu_list中添加Student對(duì)象,再往其中追加list集合或數(shù)組,這樣的操作不常見(jiàn),也無(wú)必要。
*/
redisTemplate.opsForList().leftPushAll("stu_list",stuArr);
//取值,返回是Student類(lèi)型
List<Student> lists = redisTemplate.opsForList().range("stu_list",0,-1);
//遍歷
for(Student stu:lists){
 System.out.println(stu);
}

關(guān)于RedisTemplate中opsForValue和opsForList方法如何使用問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI