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);
}
[原博文链接:http://www.54gwz.cn/article/1592475055]
RedisTemplate中opsForValue和opsForList方法使用相关推荐
- RedisTemplate中opsForValue()中的方法
使用redisTemplate.opsForValue().set(); 先引入依赖 <dependency> <groupId>org.springframework.boo ...
- RedisTemplate常用集合使用说明-opsForList(三)
基础配置介绍已经在前面的<RedisTemplate常用集合使用说明(一)>中已经介绍了,现在我们直接介绍opsForList()方法的使用: 1.leftPush(K key, V ...
- stream map方法_Java Stream中map和flatMap方法
最近看到一篇讲stream语法的文章,学习Java中map()和flatMap()方法之间的区别. 虽然看起来这两种方法都做同样的事情,都是做的映射操作,但实际上差之毫厘谬以千里. 通过演示Demo中 ...
- java中json重复数据结构_JS实现去除数组中重复json的方法示例
本文实例讲述了JS实现去除数组中重复json的方法.分享给大家供大家参考,具体如下: var array = [{"name":"123"},{"na ...
- 继承实现的原理、子类中调用父类的方法、封装
一.继承实现的原来 1.继承顺序 Python的类可以继承多个类.继承多个类的时候,其属性的寻找的方法有两种,分别是深度优先和广度优先. 如下的结构,新式类和经典类的属性查找顺序都一致.顺序为D--- ...
- 浅谈在ASP.NET中数据有效性校验的方法
作者:未知 作为一名程序员,一定要对自己编写的程序的健壮性负责,因此数据的校验无论在商业逻辑还是系统实现都是必不可少的部分. 我这里总结了一种自认为比较不错的asp.net(C#)的数据校验方法,如大 ...
- JavaScript文件中调用AngularJS内部方法或改变$scope变量
需要在其他JavaScript文件中调用AngularJS内部方法或改变$scope变量,同时还要保持双向数据绑定: 首先获取AngularJS application: 方法一:通过controll ...
- D3D中简单的截图方法 (转)
[ZT]D3D中简单的截图方法 试了下,果然可以. 在渲染完所有东东后(Present之前) 获得BackBuffer表面 然后用D3DX的函数保存 void ScreenShot (char *fi ...
- hibernate4中取得connection的方法
在hibernate3中,使用了c3p0连接池,尝试了多种办法取得connection对象,以下两种可以使用. Java代码 Connection conn; // 方法1:hibernate4中将 ...
最新文章
- 任务计划程序-Windows2008定时重启
- flink wordcount示例
- Qt Creator设置Meson
- 更安全的Web通信HTTPS
- Python set集合 - Python零基础入门教程
- Java 反射取类中类_Java反射机制(二):通过反射取得类的结构
- webpack1.x环境配置与打包基础【附带各种 “坑“ 与解决方案!持续更新中...】
- python3学习之元组
- KillBee框架的使用(上)
- 数组存放字符_字符串的 3种表示方法,不会用不是合格的程序员
- win7自带桌面便签
- java里如何继承一个类_java如何继承类
- npm install生成的package-lock.json文件有什么作用?
- 新冠病毒研究进展:维生素D或许能挽救新冠患者
- 《失业的程序员》(十五):商业头脑
- 平台电子签章实现方法
- 字符串流stringstream(头文件sstream)
- 括号匹配问题(栈)C++
- *用jQuery实现星星好评wink*~
- AnyConnect win10安装