技术标签: spring boot java json redis
假如我们向redis中存放了一个JSON数组,从中获取的时候需要将JSON数组转化为List集合,然后将List对象返回给前端。
1.引入hutool和fastjson依赖
<!--hutool-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.17</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.66</version>
</dependency>
2.hutool的作用是使用JSONUtil类将数据库查到的List集合转化成JSON数组,存到redis中
List<ShopType> typeList = typeService.query().list();
String typeListJson = JSONUtil.toJsonStr(typeList);
stringRedisTemplate.opsForValue().set("shopList",typeListJson);
3.fastjson的JSONObject类作用是将JSON数组转换成List集合
String shopList = stringRedisTemplate.opsForValue().get("shopList");
List<ShopType> list = JSONObject.parseArray(shopList, ShopType.class);
return Result.ok(list);
完整代码:
@GetMapping("list")
public Result queryTypeList() {
String shopList = stringRedisTemplate.opsForValue().get("shopList");
if(StringUtils.isEmpty(shopList)){
List<ShopType> typeList = typeService
.query().orderByAsc("sort").list();
String typeListJson = JSONUtil.toJsonStr(typeList);
stringRedisTemplate.opsForValue().set("shopList",typeListJson);
return Result.ok(typeList);
}
List<ShopType> list = JSONObject.parseArray(shopList, ShopType.class);
return Result.ok(list);
}
前序:Sqlite3 的确很好用。小巧、速度快。但是因为非微软的产品,帮助文档总觉得不够。这些天再次研究它,又有一些收获,这里把我对 sqlite3 的研究列出来,以备忘记。这里要注明,我是一个跨平台专注者,并不喜欢只用 windows 平台。我以前的工作就是为 unix 平台写代码。下面我所写的东西,虽然没有验证,但是我已尽量不使用任何 windows 的东西,只使用标准 C 或标准C++。但是
跳槽到新公司之后,发现工作真心挺坑的,基本没什么流程规范,职责分工也不明确,整天瞎折腾。。。,慢慢的开始怀念起老东家了。 在新公司UI只提供ios的切图给开发,其实他们不会做android切图。。。,因为以前都是直接用android切图做的适配,所以第一次遇到这种情况时,自己也不知道该怎么办了,只好先把ios切图用起来,然后慢慢去填适配的坑了。其实,在了解互用关系后,将ios对应的
转载:廖雪峰 git 教程:https://www.liaoxuefeng.com/wiki/896043488029600GitHub 秘籍:https://github.com/tiimgreen/github-cheat-sheet/blob/master/README.zh-cn.mdGit Community Book 中文版:http://gitbook.liuhui99...
Java的Scanner用法,主要用于算法笔试时的控制台输入文章目录Java的Scanner用法,主要用于算法笔试时的控制台输入1 问题:解决这种情况下的Scanner输入:单行,多行,数值,字符串2 最好解决的情况3 单行输入多个参数4 多行输入多个参数,每行参数个数不定1 问题:解决这种情况下的Scanner输入:单行,多行,数值,字符串平时写程序一般不用Scanner,线上笔试的时候,各大公司热衷于Scanner输入。平时用LeetCode刷题也不会用到,结果多次在笔试时候卡在Scanner,
/etc/profile 和~/.bash_profile区别/etc/profile为系统的每个用户设置环境信息和启动程序,当用户第一次登录时,该文件被执行,其配置对所有登录的用户都有效。当被修改时,必须重启才会生效。英文描述:”System wide environment and startup programs, for login setup.”~/.bash_profile为当...
我是java的初学者.我有ImageFrame类如下:public class ImageFrame extends JFrame {private static final long serialVersionUID = 1L;public static final int DEFAULT_WIDTH = 1365;public static final int DEFAULT_HEIGHT =...
elasticsearch简介ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文检索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。实验部署1、实验所需组件及环境...
<br />浅析kern_mount加载sysfs的流程<br /><br /> 因为sysfs是一个内存文件系统,所以文件的物理存储关系就需要使用sd来维护,因此sysfs_dirent即sd就类似于硬盘中的磁道.<br /> sysfs文件系统是一个排它式的文件系统,不论被mount多少次都只产生一个sb超级块,<br />如果尝试再次mount,即尝试再次调用sysfs_get_sb获取另一个sb超级块,那么将执行atomic_inc(old->s_active);增加
请求拦截器和响应拦截器的作用.
使用FTP上传工具进行远程连接FTP用于在FTP服务器和FTP客户端之间上传和下载文件,它最优秀的功能就是可以批量管理,可以将文件从一个主机传输到另一个主机。地址:服务器管理工具使用FTP上传工具最优秀的功能就是可以批量管理、批量上传,适用于Windows系统,Linux系统和云服务器等,能极大的提高站长及服务器运维人员工作效率,同时FTP上传工具还是vnc客户端,真正实现了一站式管理,非常方便。Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用
一.手机存储(一)内置私有存储,手机需root后才能看到获取路径的方法1.getFilesDir()/data/data/[packagename]/files 文件缓存目录,一般存小的文件缓存,如果是图片,不建议放这里,一般放到外置卡。2.getCacheDir()/data/data/[packagename]/cache目录 存放一些其他缓存