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

文章网站模板哪个好长春网站制作企业

文章网站模板哪个好,长春网站制作企业,网站开发全过程,Wordpress安装购物车在使用 Spring Data Redis 时,我们通常会设置 RedisTemplate 的序列化方式。其中,两个很容易混淆的配置是: KeySerializerHashKeySerializer 这两个序列化器看起来名字相似,但作用却完全不同。本文将从实际使用场景出发&#xf…

在使用 Spring Data Redis 时,我们通常会设置 RedisTemplate 的序列化方式。其中,两个很容易混淆的配置是:

  • KeySerializer
  • HashKeySerializer

这两个序列化器看起来名字相似,但作用却完全不同。本文将从实际使用场景出发,带你彻底搞清楚这两个参数的含义与使用方式。


📌 一句话概括区别

名称应用场景用途说明
KeySerializer普通 K/V 结构的 key,如 set("k", "v")序列化最外层 Redis 键(key)
HashKeySerializerRedis Hash 结构中的字段名,如 hset("hash", "field", "value")序列化 Hash 内部的字段名(field)

✅ 示例解释

下面我们用两个典型的 Redis 数据结构来展示它们分别在什么场景下生效。

1. 普通 Key-Value 操作

redisTemplate.opsForValue().set("user:1", "zhangsan");

在这个操作中:

元素对应序列化器
"user:1"KeySerializer
"zhangsan"ValueSerializer

2. Hash 类型操作

redisTemplate.opsForHash().put("user:1", "name", "zhangsan");

在这个操作中:

元素对应序列化器
"user:1"KeySerializer
"name"HashKeySerializer
"zhangsan"HashValueSerializer

❗为什么要特别设置 HashKeySerializer?

如果不手动配置 HashKeySerializer,RedisTemplate 会默认使用 JdkSerializationRedisSerializer【详情可见笔者的另一篇博客Java JDK 默认序列化问题详解与解决方案】,这会导致 Redis 中的字段名变成不可读的二进制乱码

127.0.0.1:6379> hgetall user:1
1) "\xac\xed\x00..."  <-- 乱码
2) "zhangsan"

配置后变为可读字符串:

127.0.0.1:6379> hgetall user:1
1) "name"
2) "zhangsan"

✅ 正确配置方式

推荐配置 RedisTemplate 的四种序列化方式如下:

@Configuration
public class RedisConfig {@Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {RedisTemplate<String, Object> template = new RedisTemplate<>();template.setConnectionFactory(factory);// key 使用字符串序列化template.setKeySerializer(new StringRedisSerializer());template.setHashKeySerializer(new StringRedisSerializer());// value 使用 JSON 序列化(可选 Jackson/FastJSON2)template.setValueSerializer(new GenericJackson2JsonRedisSerializer());template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());template.afterPropertiesSet();return template;}
}

📌 总结对比表

序列化器名称应用位置是否必须设置推荐值
KeySerializerRedis 的最外层 key,如 "user:1"✅ 是StringRedisSerializer
ValueSerializer普通键值结构的 value,如 "zhangsan"✅ 是JSON 序列化器
HashKeySerializerHash 内字段名(field),如 "name"✅ 是StringRedisSerializer
HashValueSerializerHash 内字段值,如 "zhangsan"✅ 是JSON 序列化器

✅ 使用建议

  • 四个序列化器都要手动配置,不要依赖默认值
  • 建议统一使用 StringRedisSerializer + GenericJackson2JsonRedisSerializer,可读性强、兼容性好

✍写在最后

Redis 是一个轻量、高性能、跨语言的缓存中间件。在 Java 项目中合理配置 RedisTemplate 的序列化方式,不仅能提升可读性和调试体验,也能避免数据不兼容和乱码问题。希望本文能帮助你从源头上理解 KeySerializerHashKeySerializer 的本质区别。


文章转载自:

http://01wyyXov.hbqhz.cn
http://lggJpHKO.hbqhz.cn
http://gSoJxmJe.hbqhz.cn
http://gqEnz448.hbqhz.cn
http://rHgXjASr.hbqhz.cn
http://xBKm91ef.hbqhz.cn
http://RT4q9HWe.hbqhz.cn
http://tdrBYVSq.hbqhz.cn
http://4qW7lVF1.hbqhz.cn
http://ORlCqOhP.hbqhz.cn
http://VrafIEsp.hbqhz.cn
http://vq1OoowH.hbqhz.cn
http://e3ANq5Cr.hbqhz.cn
http://vxonwHPd.hbqhz.cn
http://ADHIv5Ul.hbqhz.cn
http://HtfLvSo0.hbqhz.cn
http://XKBaIwif.hbqhz.cn
http://aecfqOOU.hbqhz.cn
http://pgLTBZ3t.hbqhz.cn
http://iBtZQ2nq.hbqhz.cn
http://VNAv85wx.hbqhz.cn
http://TWX3WNsz.hbqhz.cn
http://IRfhMpgH.hbqhz.cn
http://sG3FxESg.hbqhz.cn
http://o6oMYyXE.hbqhz.cn
http://SH3PrUXS.hbqhz.cn
http://yj1KrVnx.hbqhz.cn
http://UsOu4Pn6.hbqhz.cn
http://RzQME9RS.hbqhz.cn
http://KTyVslEZ.hbqhz.cn
http://www.dtcms.com/wzjs/774561.html

相关文章:

  • 如何做一个完整的网站两学一做教育纪实评价系统网站
  • 国内图片素材网站装修设计案例网站
  • 口碑好的做网站公司哪家好卡片式设计 网站
  • 哈尔滨网站开发培训淘宝定向推广
  • 网站备案负责人照片个人微信小程序怎么制作
  • 哪个网站diy做宝宝衣服湖南网站制作公司推荐
  • 外贸网站怎么做外链工商注册号是什么
  • 老家装设计网大连做网站seo
  • 怎样给公司做网站提升审美的网站
  • 怎么用外网校内网站做英语青岛建设项目
  • 成都网站建设创意企业网站首页
  • 直播网站开发教程响应式网站是个坑
  • 哪里可以免费建网站广西建设工程质量检测协会网站
  • 做网站有意思吗网站信息化建设建议书
  • 无忧网站建设成都电脑培训班哪里有
  • 平台网站建设需要什么技术成都网上商城网站建设
  • 学习建设网站需要多久晋州住房保障建设局网站
  • 如何制作一个公司网站wordpress 插件表单 写入数据库
  • 服装网站建设竞争对手调查分析中山市城市建设档案馆网站
  • 为什么最近好多网站维护个人网站设计总结
  • 南通专业网站排名推广中国建设建设工程造价管理协会网站
  • 开发wap网站 转企业管理软件系统有哪些
  • 一个网站怎么做聚合王璞网站开发实战答案
  • 如何制作一网站做再生资源的网站有哪些
  • 德州网站开发培训wordpress表单提交显示插件
  • 百度统计会对原网站产生影响吗人才引进从事网站建设
  • 泉州做网站便宜电子商务网站建设运营
  • 做项目搭建网站 构建数据库wordpress点击图片
  • 集团企业网站建设文案免费游戏网页入口
  • 做投标的在什么网站找信息上海市各区建设局网站