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

福州网站建设免费咨询免费下载微信并安装

福州网站建设免费咨询,免费下载微信并安装,命令删除wordpress 缓存,wordpress上传大图文章目录RedisSerializer为什么要使用如何使用RedisSerializer总结RedisSerializer 为什么要使用 RedisTemplate 有默认的序列化器#xff0c;但默认使用的 JdkSerializationRedisSerializer 存在一些问题#xff1a; 序列化后的数据包含类信息等额外内容#xff0c;导致… 文章目录RedisSerializer为什么要使用如何使用RedisSerializer总结RedisSerializer 为什么要使用 RedisTemplate 有默认的序列化器但默认使用的 JdkSerializationRedisSerializer 存在一些问题 序列化后的数据包含类信息等额外内容导致存储的数据体积较大生成的是二进制数据在 Redis 客户端中查看时可读性差 RedisTemplate 是操作 Redis 的主体而 RedisSerializer 是 RedisTemplate 中负责数据格式转换的关键组件。正确配置序列化器可以让 Redis 存储的数据更高效、更易读、更具兼容性 首先看一下RedisTemplate的部分源码 这四个引用默认为空当afterPropertiesSet方法进行判断时为空的话默认创建一个jdk的序列化器这就是后面我们会调用的类 现在我们使用这个对象的set方法通过debug方式看看它怎么运行 当我们点击set方法 会将传入的key和value传入rawKey和rawValue当我们点入rawKey 这里的逻辑有点绕可能大家会想我明明没有设置序列化器为什么还是走else 其实不是 这里我们可以看到如果我们不定义序列化器他会把上面的afterPropertiesSet方法初始化的JdkSerializationRedisSerializer给keySerializer后续我们所调用的序列化器就有了默认的序列化器 小插曲:大家知道为什么会调用afterPropertiesSet方法吗 还是源码 当一个 Bean 实现了 InitializingBean 接口后Spring 容器在完成该 Bean 的所有属性注入即调用完所有 setter 方法后会自动调用接口中的 afterPropertiesSet() 方法。 书接上回经过一系列的赋值和调用这里会判断是否已经自己定义序列化器如果没有且我们自己将key给序列化了——不是自动的 比如我自己将user:100序列化了这样redis就能直接存储原始的二进制不需要再进行序列化转换 虽然我们没有设定序列化器但我们有默认的且没有手动将字符串序列化所以我们走else 点击serialize() 如果是debug的形式我们会进入这个类——熟悉吗上面初始化的类 点击convert() 点击serializeToByteArray() 这里我们可以看到通过ObjectOutputStream类将java对象转成字节 最后会在redis中以这样的方式存储 如何使用RedisSerializer 引入依赖 dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactId /dependencyConfiguration public class RedisConfig {Beanpublic RedisTemplateString, Object redisTemplate(RedisConnectionFactory connectionFactory) {// 创建RedisTemplate对象RedisTemplateString, Object template new RedisTemplate();// 设置连接工厂template.setConnectionFactory(connectionFactory);// 设置序列化工具GenericJackson2JsonRedisSerializer serializer new GenericJackson2JsonRedisSerializer();// 设置key的序列化template.setKeySerializer(RedisSerializer.string());template.setHashKeySerializer(RedisSerializer.string());// 设置value的序列化template.setValueSerializer(serializer);template.setHashValueSerializer(serializer);// 返回return template;}}这里实际上就是将我们之前提到的几个引用为null的引用进行赋值从而改变序列化器改变reids中存储的内容 SpringBootTest class SpringdataredisDemoApplicationTests {Resourceprivate RedisTemplate redisTemplate;Testvoid testString() {redisTemplate.opsForValue().set(name, 虎哥);// 从redis中获取nameObject name redisTemplate.opsForValue().get(name);System.out.println(name: name);} }总结 本篇博客介绍了有关RedisTemplate中的RedisSerializer关于为什么要用已经如何使用如果有什么不正确或比较片面的地方还望指正谢谢大家!!!
http://www.pierceye.com/news/293540/

相关文章:

  • 摄影看图网站河南省交通工程造价信息网
  • 网站架构发展历程的思考和心得体会软件开发网站开发培训
  • 陕西天工建设有限公司网站长安网站建设哪家好
  • 东莞网站的建设重庆妇科医院哪家好医院公立医院
  • 北京用网站模板建站wordpress中文 插件下载
  • 做网站公司哪家正规重庆网站建设重庆
  • 网站转备案申请学校网站建设申请书
  • 宜昌网站建设选择宜昌慧享互动线上店免费推广的软件
  • 网站建设主流语言织梦网站流动广告代码
  • 南京做网站公司哪个网站上做ppt比较好看的
  • 在服务器上搭建网站中国建设银行淮南分行网站
  • 网站建设什么服务器品牌哪个好南京企业制作网站
  • 太原有哪些做网站的公司如何伪原创 网站
  • 设计好的网站网站策划方案详解
  • 建网站潞城哪家强?企业网络推广技巧
  • 怎么建设网站让国外看wordpress 公司内网
  • 虚拟主机购买网站网站值不值得做seo
  • 长沙网站排名优化如何在网站做电子杂志
  • 石家庄科技网站在线解压zip网站
  • 不良网站举报中心官网做网站必须买云虚拟主机吗
  • 网站建设实习wordpress 登陆 插件下载
  • 做耳鼻喉医院网站多少钱北京网站建设营销
  • 济南网站建设就选搜点网络ok外贸平台补贴政策
  • 网站建设 学校百度快照优化培训班
  • 做阀门的英文网站怎么写西安seo服务公司排名
  • 淘宝客网站如何做推广古董手表网站
  • 网站虚拟主机查询企业文化建设的内容有哪些
  • 财经大学网站建设apicloud wordpress
  • 平面设计网站排行榜刚进外贸公司一个月多少钱
  • 企业网站最下面的那栏叫啥广州编程培训机构哪里好