Redis怎么实现保存对象

redis保存对象

redis数据结构

  • String——字符串

  • Hash——字典

  • List——列表

  • Set——集合

  • Sorted Set——有序集合

redisTemplate.opsForValue();//操作字符串redisTemplate.opsForHash();//操作hashredisTemplate.opsForList();//操作listredisTemplate.opsForSet();//操作setredisTemplate.opsForZSet();//操作有序set

保存对象

RedisConfig.java

package com.wj.demo.config; import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.connection.RedisConnectionFactory;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;import org.springframework.data.redis.serializer.StringRedisSerializer; @Configurationpublic class RedisConfig {     @Bean    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {          RedisTemplate<String, Object> template = new RedisTemplate<String, Object>();          template.setConnectionFactory(redisConnectionFactory);        template.setKeySerializer(new StringRedisSerializer());        template.setValueSerializer(new GenericJackson2JsonRedisSerializer());        template.setHashKeySerializer(new GenericJackson2JsonRedisSerializer());        template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());        template.afterPropertiesSet();          return template;      }}

Redis怎么实现保存对象

Redis怎么实现保存对象

测试成功。

redis存放对象的两种方式

数据格式

  • 用户id为查找的key

  • 存储的value用户对象包括姓名,年龄,生日等等

  • 如果用普通的key-value结构来存储,主要有以下2种方式存储

方式一(String)

Redis怎么实现保存对象

这种方式是使用list或者set这些来存储的,这样的方式其实也可以达到我们想要的效果,但是因为每次修改属性都需要三步走,性能开销非常大。1.先反序列化;2,修改;3.序列化

方式二(hash)

这种方式其实也有两种写法

写法一:

Redis怎么实现保存对象

这种写法不仅能够达成目标,而且解决了资源消耗过大的问题,但是也引起了另一个问题,就是用户的id数据冗余

写法二:

Redis怎么实现保存对象

通过key(用户id)+field(属性标签)可以操作对应属性数据了,既不需要重复存储数据,也不会带来序列化和并修复操控的问题

到此,相信大家对“Redis怎么实现保存对象”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

文章标题:Redis怎么实现保存对象,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/22579

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年9月2日 下午10:09
下一篇 2022年9月2日 下午10:10

相关推荐

  • APT28样本实例分析

    一、 背景 奇幻熊组织又被人们称为APT28,他是俄罗斯的间谍组织,2019年,奇幻熊组织的活动异常频繁。从今年年初的智囊团入侵事件,到随后的大小攻击,都有APT28的身影。奇幻熊的历史已经非常悠久,2016年,该组织因为入侵美国民主党全国委员会的电子邮件,试图影响美国总统大选而闻名于世。鱼叉式网络…

    2022年9月18日
    29900
  • 多项目管理方法有哪些

    多项目管理方法主要有:1.阶段化管理;2.量化管理;3.优化管理这三个方面。项目管理方法是关于如何进行项目管理的方法,是可在大部分项目中应用的方法。 一、阶段管理 阶段化管理指的是从立项之初直到系统运行维护的全过程。根据工程项目的特点,我们可将项目管理分为若干个小的阶段。 市场信息 1)市场信息方面…

    2022年3月25日
    65300
  • 如何借助CSS 更好的控制定时器

    平时工作中很多场合都要用到定时器,比如延迟加载、定时查询等等,但定时器的控制有时候会有些许麻烦,比如鼠标移入停止、移出再重新开始。这次介绍几个借助 CSS 来更好的控制定时器的方法,一起了解一下吧,相信可以带来不一样的体验。 一、hover 延时触发 有这样一个场景,在鼠标停留在一个元素上1s后才触…

    2022年9月16日
    29300
  • word字体放大后如何上移

    word字体放大后上移方法 1、首先鼠标选中需要调整的文字。 2、右键文字,选择字体。 3、点开后,再点击字体的高级选项。找到位置,改成提升。 4、根据你需要的上升高度,填写对应的磅值。之后点击确定,就可以看到文字已经提升了。 关于“word字体放大后如何上移”这篇文章的内容就介绍到这里,感谢各位的…

    2022年9月10日
    20300
  • SQL查询怎么给表起别名

    可以通过空格或者as给表起别名 但是注意如果操作的数据库是Oracle的话,只能使用空格,as不符合Oracle的语法。 举个栗子 简单查询中使用别名 select *from student swhere s.id = ’10’; 在简单的查询中使用别名,一般没有特别需要注意的地方,要做的操作少 …

    2022年9月8日
    25300
  • 数据库mdf文件怎么还原

    数据库还原mdf文件的方法: 1、打开mssql2008 r2管理器。 2、右击“数据库—>附加”弹出附加操作窗体。 3、点击“添加”加入mdf文件。 4、如果只有mdf文件会显示log未找到。 5、选中log文件,点击“删除”删除log文件。 6、删除后点击“确定”附加数据库。 感谢各位的阅…

    2022年9月8日
    57400
  • TraceId怎么搭配ELK使用

    需求分析 先分析一下,我们想实现的核心功能是搜索,必然是用 ES 实现,那问题就转换成如何将日志收集并存储到 ES。 日志大家都不陌生了,可以在控制台打印,也可以存入文件,那能不能直接输入 ES 呢,好像没听说过。 这里就要用到 Logstash 来收集日志,Spring 默认的日志框架 Logba…

    2022年9月20日
    22000
  • MySQL数据库JDBC编程知识点有哪些

    1.JDBC前置工作 1.1准备好MySQL驱动包 MySQL的jdbc驱动包我们可以去官网下载,我们也可以maven中央仓库下载,这个maven中央仓库是什么呢?你可以理解为我们手机中的“应用商店”软件,它的作用和应用商店的作用是差不多的,只不过手机应用商店里面是手机软件,而maven中央仓库里面…

    2022年9月15日
    13500
  • MySQL中的join语句算法如何优化

    一、join语句算法 创建两个表t1和t2 CREATE TABLE `t2` ( `id` int(11) NOT NULL, `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `a` (`a`)…

    2022年9月16日
    16000
  • C语言内存分配函数被污染的示例分析

    1、被污染的内存分配 C 语言的内存分配函数包括 malloc()、 kmalloc 、 smalloc()、 xmalloc()、realloc()、 calloc()、 GlobalAlloc()、 HeapAlloc()等等,以 malloc()为例, malloc() 函数的原型为: ext…

    2022年9月20日
    17800
联系我们
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部