当前位置: 首页 > news >正文

SpringBoot中缓存@Cacheable出错

SpringBoot中使用@Cacheable:

错误代码:

@Cacheable(value = "FrontAdvertiseVOList", keyGenerator = "cacheKey")
@Override
public List<FrontAdvertiseVO> getFrontAdvertiseVOList(Integer count) {return this.list(Wrappers.<Advertise>lambdaQuery().select(Advertise::getPic, Advertise::getUrl).eq(Advertise::getState, 1).orderByDesc(Advertise::getPriority).last("limit " + count)).stream().map(advertise -> new FrontAdvertiseVO(advertise.getPic(), advertise.getUrl())).toList();   // ----------- ①
}

运行程序,出错:

org.springframework.data.redis.serializer.SerializationException: Could not read JSON:Unexpected token (START_OBJECT), expected VALUE_STRING: need String, Number of Boolean value that contains type id (for subtype of java.lang.Object)at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 2] 

解决方案

只需要将编号①处的代码修改为:

.collect(Collectors.toList());

原理

  • collect(Collectors.toList())‌返回的数据:
    在这里插入图片描述
  • ‌toList()‌返回的数据:
    在这里插入图片描述

collect(Collectors.toList()) 和 toList() 的主要区别在于返回的列表类型和可变性:

  • collect(Collectors.toList())‌:返回的是一个普通的 ArrayList ,因此可以进行添加、删除和修改操作‌
  • ‌toList()‌:返回的是通过对原始数组创建一个不可修改的列表。一旦创建,就不能对其进行添加、删除或修改操作‌

‌使用场景‌:

  • ‌toList()‌:适用于不需要对列表进行修改的场景,如从数据库查询数据等,因为它返回的是不可变列表,可以防止数据被意外修改‌
  • ‌collect(Collectors.toList())‌:适用于需要对列表进行修改的场景,因为它返回的是普通的ArrayList,可以进行各种操作‌

相关文章:

  • SpringBoot 数据库导入导出 Xlsx文件的导入与导出 全量导出 数据库导出表格 数据处理 外部数据
  • 基于SpringBoot的“嗨玩旅游”网站设计与实现(源码+定制+开发)嗨玩旅游平台开发:景点展示与个性化推荐系统(SpringBoot)
  • 《数据挖掘》- 房价数据分析
  • 《Spring Bean 是怎么被创建出来的?容器启动流程全景分析》
  • mobilnet v4 部署笔记
  • Spring AOP:面向切面编程 详解代理模式
  • LangChain系列之LangChain4j集成Spring Bot
  • 户外摄像头监控如何兼顾安全实时监控
  • Fooocus 一款好用的文生图软件,4G显存可跑
  • 实现仿中国婚博会微信小程序
  • 敏感备份文件:潜在的安全风险与防护措施
  • QT 5.9.2+VTK8.0实现等高线绘制
  • 【QT】在Qt6的`QTextEdit`中,同一行更新内容
  • MySQL连接报SSL错误
  • Qt 仪表盘源码分享
  • 【QT】`QTextCursor::insertText()`中插入彩色文本
  • 强制卸载openssl-libs导致系统异常的修复方法
  • 大宽带怎么做
  • React---day8
  • ORA-12899: value too large for column LONG_TYPE (actual: 30, maximum: 20)
  • 网站设置多少个关键词/郑州网站seo优化公司
  • 如何推广网站架构/长沙网站搭建优化
  • 浦东新区网站建设/如何自己建网站
  • 网站建设做微营销/产品推广活动策划方案
  • 企业网站规划书范文/站长工具亚洲高清
  • 微信小程序模版/合肥网络优化推广公司