010_StringRedisTemplate


上面的缺点就是会使用内存空间去占用字节码

1、为了节省内存空间,我们并不会使用JSON序列化来处理value,而是使用统一的String序列化器,要求只能存储String 类型的key和value。

2、当要存储Java对象的时候,手动完成对象的序列化以及反序列化

3、Spring中提供了一个StringRedisTemplate类,它的key以及value都是默认为String方式。省去了我们自定义RedisTemplate的过程。

代码测试如下。

package com.ym.redisdemo;import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ym.redisdemo.pojo.User;
import lombok.val;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;@SpringBootTest
class RedisStringTests {//注入Redis@Autowiredprivate StringRedisTemplate stringRedisTemplate;/*** 存储字符串测试*/@Testvoid contextLoads() {//写入一条String数据stringRedisTemplate.opsForValue().set("lover","李易峰");//获取String数据Object name = stringRedisTemplate.opsForValue().get("lover");System.out.println("lover="+name);}private static final ObjectMapper mapper=new ObjectMapper();/*** 存储对象测试*/@Testvoid testSaveUser() throws JsonProcessingException {//先创建对象User user=new User("李易峰",21);//手动序列化String json = mapper.writeValueAsString(user);//写入数据stringRedisTemplate.opsForValue().set("user:101",json);//获取数据String  o = stringRedisTemplate.opsForValue().get("user:101");//手动反序列化User  user1 = mapper.readValue(o, User.class);System.out.println(user1);}}


总结:

关于RedisTemplate的两种序列化实践方案

  • 方案1:
    (1) 自定义RedisTemplate
    (2) 修改RedisTemplate的序列化器GenericJackson2JsonRedisSerializer
  • 方案2:
    (1) 使用StringRedisTemplate
    (2) 写入Redis时,需要手动把对象序列化为Json
    (3) 读取Redis时,手动把读取的Json反序列化为对象

010_StringRedisTemplate相关推荐

最新文章

  1. MyBaties学习记录
  2. Noip2012同余方程
  3. 方立勋_30天掌握JavaWeb_Servlet事件监听器
  4. Nvelocity 模板引擎 实例
  5. java类什么时候卸载_java – Android:什么时候类被系统卸载?
  6. c++ 协程_Python3 协程(coroutine)介绍
  7. linux 6.2yum问题
  8. wps xml转换表格_PDF转换神器安装步骤
  9. 代码大全 服装尺寸图html,国际标准服装尺码对照表大全-实用衣服尺寸对照表...
  10. c++中getline()函数用法与坑
  11. MatrixOne混沌测试之道
  12. 微软壁纸。我全部都要
  13. 如何在移动钱包中搭建一个小程序应用商店
  14. 安装WebSphere Application Server
  15. 黑客入侵应急分析手工排查
  16. 无人机右手定则以及角度大小方向粗判断
  17. API-百度翻译-js使用
  18. c语言程序学生籍贯信息记录,c语言程序学生籍贯信息记录簿设计.doc
  19. 【板栗糖GIS】如何在CASS软件中输出PDF
  20. 【多目标追踪算法】Deepsort追踪实战

热门文章

  1. 看看MB860等机型的CPU的排名
  2. Python实现K-Means聚类算法
  3. Linux下给wps增加桌面图标
  4. VMware公司成为Linux基金会金牌会员
  5. SpringBoot集成Hasor-Dataway数据查询接口
  6. 用什么软件工具可以一键添加马赛克同时虚化边框背景呢?
  7. H.264 中 SAD SATD及常见知识点
  8. Lucas–Kanade
  9. PMI-ACP练习题(23)
  10. 最大公约数(GCD)算法与最小公倍数(LCM)算法-C++实现