温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

RedisTemplate中opsForValue和opsForList方法如何使用

发布时间:2021-08-04 13:49:46 来源:亿速云 阅读:1667 作者:Leah 栏目:开发技术

RedisTemplate中opsForValue和opsForList方法如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

一、opsForValue用法

key:字符串,value:可以是任意对象Object(例如String、具体对象如自定义类Student等),一个key只能对应一个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");

总结: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值为数组或list集合,该方法会将value值一次性全部追加存入到该key
值对应的内容中;一般情况下同一个key值对应的追加的数据类型要保持一致,像下面那样先
往stu_list中添加Student对象,再往其中追加list集合或数组,这样的操作不常见,也无必要。
*/
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);
}

关于RedisTemplate中opsForValue和opsForList方法如何使用问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI