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)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云的头像亿速云
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部