RedisTemplate中opsForValue和opsForList方法的使用詳解
一、opsForValue用法
key:字符串,value:可以是任意對(duì)象Object(例如String、具體對(duì)象如自定義類Student等),一個(gè)key只能對(duì)應(yīng)一個(gè)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為其他類對(duì)象Object(例如自定義對(duì)象)
//賦值方法
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時(shí)value傳的是什么類型,get后返回的就是什么類型。
二、opsForList用法
key:字符串,value:可以是任意對(duì)象Object(例如String、具體對(duì)象如自定義類Student等),一個(gè)key可以分別先后添加多個(gè)value。
1)value為String類型示例:
redisTemplate.opsForList().rightPush("user_list","wangxinli");
redisTemplate.opsForList().rightPush("user_list","yanxiaotang");
//push時(shí)value傳的是什么類型,range方法后接受的list<>中就傳什么類型
List<String> lists = redisTemplate.opsForList().range("user_list",0,-1);
for(String str:lists){
System.out.println(str);
}
2)value為其他類對(duì)象Object(例如自定義對(duì)象)
//賦值方法
redisTemplate.opsForList().leftPush("stu_list",new Student(1,"張三",20,"張無忌"));
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ù)類型要保持一致,像下面那樣先
往stu_list中添加Student對(duì)象,再往其中追加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);
}
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java中通過繼承Thread類創(chuàng)建線程的步驟
本文介紹了如何通過繼承Thread類創(chuàng)建線程,包括Thread類的定義、創(chuàng)建線程的步驟、優(yōu)缺點(diǎn)、使用場景和注意事項(xiàng),通過示例代碼展示了多線程下載文件的實(shí)現(xiàn),感興趣的朋友跟隨小編一起看看吧2025-02-02
Java中可以實(shí)現(xiàn)負(fù)載均衡的算法詳解
這篇文章主要介紹了Java中可以實(shí)現(xiàn)負(fù)載均衡的算法詳解,在Java中,有多種算法可以實(shí)現(xiàn)負(fù)載均衡,下面是兩個(gè)常見的算法示例,隨機(jī)算法和輪詢算法,需要的朋友可以參考下2023-08-08
freemarker簡介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
FreeMarker是一個(gè)模板引擎,一個(gè)基于模板生成文本輸出的通用工具,使用純Java編寫,有興趣的可以了解一下2017-08-08
詳解SpringBoot中5種類型參數(shù)傳遞和json數(shù)據(jù)傳參的操作
當(dāng)涉及到參數(shù)傳遞時(shí),Spring?Boot遵循HTTP協(xié)議,并支持多種參數(shù)傳遞方式,這些參數(shù)傳遞方式可以根據(jù)請(qǐng)求的不同部分進(jìn)行分類,2023-12-12
Java報(bào)錯(cuò):ClassCastException問題解決方法
異常是程序中的一些錯(cuò)誤,但并不是所有的錯(cuò)誤都是異常,并且錯(cuò)誤有時(shí)候是可以避免的,下面這篇文章主要給大家介紹了關(guān)于Java報(bào)錯(cuò):ClassCastException問題解決方法,需要的朋友可以參考下2024-07-07
Java實(shí)現(xiàn)轉(zhuǎn)換圖片格式的示例代碼
在日常的軟件開發(fā)中,處理圖像文件是一項(xiàng)常見任務(wù),這篇文章將實(shí)現(xiàn)實(shí)現(xiàn)一個(gè)簡單的Java程序,用于將一種圖片格式轉(zhuǎn)換為另一種格式,需要的可以了解下2025-02-02

