添加redis缓存的方法
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,这期内容当中小编将会给大家带来有关添加redis缓存的方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。redis常本用来作为缓存服务器。缓存的好处是减少服务器的压
千家信息网最后更新 2025年11月15日添加redis缓存的方法
这期内容当中小编将会给大家带来有关添加redis缓存的方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
redis常本用来作为缓存服务器。缓存的好处是减少服务器的压力,数据查询速度快。解决数据响应慢的问题。
添加缓存:只用redis的Hash数据类型添加缓存。
例如:需要在查询的业务功能中,添加缓存
1.首先需要在执行正常的业务逻辑之前(查询数据库之前),查询缓存,如果缓存中没有需要的数据,查询数据库
为了防止添加缓存出错,影响正常业务代码的执行,将添加缓存的代码放置到try-catch代码快中,让程序自动捕获。
2.完成数据库的查询操作,查询完成之后需要将查询的数据添加到缓存中。
代码:
@Override public ListfindContentByCategoryId(Long categoryId) { // 查询出的内容列表可以添加到缓存中,便于展示,为了保证添加缓存出现错误不影响程序的正常业务功能,可以使用try catch的方式加缓存 try { String json = jedisClient.hget(CONTENT_LIST, categoryId + ""); if (json != null) { List list = JsonUtils.jsonToList(json, TbContent.class); return list; } } catch (Exception e) { e.printStackTrace(); } TbContentExample example = new TbContentExample(); Criteria criteria = example.createCriteria(); criteria.andCategoryIdEqualTo(categoryId); // 使用selectByExampleWithBLOBs方法会将content属性框中的内容也查询出来 List list = contentMapper.selectByExampleWithBLOBs(example); // 操作完成后需要将查询的内容添加到缓存中,因为添加缓存的过程可能出错,所以使用try catch将异常抛出即可 // categoryId+""将Long类型的数据转换成String类型的 try { jedisClient.hset(CONTENT_LIST, categoryId + "", JsonUtils.objectToJson(list)); } catch (Exception e) { e.printStackTrace(); } return list; }
Json转换的工具类:
package nyist.e3.utils;import java.util.List;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.JavaType;import com.fasterxml.jackson.databind.ObjectMapper;/** * 淘淘商城自定义响应结构 */public class JsonUtils { // 定义jackson对象 private static final ObjectMapper MAPPER = new ObjectMapper(); /** * 将对象转换成json字符串。 * Title: pojoToJson
* Description:
* @param data * @return */ public static String objectToJson(Object data) { try { String string = MAPPER.writeValueAsString(data); return string; } catch (JsonProcessingException e) { e.printStackTrace(); } return null; } /** * 将json结果集转化为对象 * * @param jsonData json数据 * @param clazz 对象中的object类型 * @return */ public static T jsonToPojo(String jsonData, Class beanType) { try { T t = MAPPER.readValue(jsonData, beanType); return t; } catch (Exception e) { e.printStackTrace(); } return null; } /** * 将json数据转换成pojo对象list * Title: jsonToList
* Description:
* @param jsonData * @param beanType * @return */ public static List jsonToList(String jsonData, Class beanType) { JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType); try { List list = MAPPER.readValue(jsonData, javaType); return list; } catch (Exception e) { e.printStackTrace(); } return null; } } 上述就是小编为大家分享的添加redis缓存的方法了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
缓存
数据
查询
内容
对象
业务
代码
类型
方法
数据库
功能
服务器
程序
分析
影响
服务
专业
中小
内容丰富
压力
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
添加服务器管理员用户名
防范手机网络安全风险问题讨论
Oracle数据库事务量查询
高德poi数据库
软件开发自由职业
战神引擎开始游戏提示服务器维护
2021网络安全成本
企业安全数据库
威联通nas安装数据库
北京展厅多媒体软件开发公司
c 判断数据库是否存在
为什么说学网络技术是修电线的
云服务器的远程连接端
软件开发需求分析文档该如何写
山东省网络技术大赛有用吗
在株洲做软件开发怎么样
成都市前100软件开发公司
学前游戏数据库
网络安全无小事从你我身边做起
软件开发需要掌握的网络
安装的数据库版本与软件不兼容
要制定网络安全法
云服务器西部
各种服务器架设方式性能比较
华为云rds数据库事务
联想小新无网络安全
互联网科技领航者是什么水平
钉钉的服务器地址在哪里
电脑串口服务器
邹平软件开发定制