• 技术文章 >数据库 >Redis

    一起聊聊Redis如何实现保存对象

    WBOYWBOY2022-08-24 09:20:38转载856

    php入门到就业线上直播课:进入学习

    推荐学习:Redis视频教程

    redis保存对象

    redis数据结构

    redisTemplate.opsForValue();//操作字符串
    redisTemplate.opsForHash();//操作hash
    redisTemplate.opsForList();//操作list
    redisTemplate.opsForSet();//操作set
    redisTemplate.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;
     
    @Configuration
    public 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存放对象的两种方式

    数据格式

    方式一(String)

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

    方式二(hash)

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

    写法一:

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

    写法二:

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

    推荐学习:Redis视频教程

    以上就是一起聊聊Redis如何实现保存对象的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:脚本之家,如有侵犯,请联系admin@php.cn删除

    千万级数据并发解决方案(理论+实战):点击学习

    Mysql单表千万级数据量的查询优化与性能分析

    Mysql主从原理及其在高并发系统中的应用

    专题推荐:redis
    上一篇:Redis实现排行榜及相同积分按时间排序功能的实现 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 一起聊聊使用redis实现分布式缓存• redis分片集群搭建与使用详解• docker上支持安装redis吗• Redis步骤解析之sentinel哨兵集群• Redis的内存淘汰策略和过期删除策略的区别
    1/1

    PHP中文网