首页 > 数据库 >【Redis】自定义RedisTemplate模板,拿来直接使用

【Redis】自定义RedisTemplate模板,拿来直接使用

时间:2023-05-24 23:33:32浏览次数:36  
标签:自定义 Redis springframework RedisTemplate org import 序列化 redisTemplate


以下是自定义 RedisTemplate 固定模板,拿来可以直接使用:

package com.iot.back.message.process.config;

import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
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.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;

/**
 * <p>RedisTemplate 此类用于:这是自定义的 RedisTemplate 的固定模板,拿来就可以直接使用 </p>
 * <p>@author:hujm</p>
 * <p>@date:2022年10月18日 15:32</p>
 * <p>@remark:</p>
 */
@Configuration
public class RedisConfig {

    /**
     * 这是自定义的 RedisTemplate 的固定模板,拿来就可以直接使用
     *
     * @param redisConnectionFactory redis的连接工厂
     * @return 自定义的 RedisTemplate
     */
    @Bean
    @SuppressWarnings("all")
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
        // 我们为了自己开发方便,一般都是直接使用<String, Object>
        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(redisConnectionFactory);
        // Json 序列化配置
        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
        jackson2JsonRedisSerializer.setObjectMapper(objectMapper);

        // String 的序列化
        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();

        // key 采用String的序列化方式
        redisTemplate.setKeySerializer(stringRedisSerializer);
        // value 序列化方式采用 jackson
        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);

        // hash 的key也采用String的序列化方式
        redisTemplate.setHashKeySerializer(stringRedisSerializer);
        // hash 的value也采用jackson的序列化方式
        redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);

        redisTemplate.afterPropertiesSet();

        return redisTemplate;
    }
}

完结!

标签:自定义,Redis,springframework,RedisTemplate,org,import,序列化,redisTemplate
From: https://blog.51cto.com/u_16128050/6343407

相关文章

  • gitlab--内置的环境变量、自定义环境变量
    自定义环境变量gitlab给我们内置了很多的变量,但有时候满足不了我们的需求,例如我们需要往某个私有仓库推送镜像,需要账号和密码进行登录。这时候我们不想把密码写在.gitlab-ci.yml文件里面。我们就可以自定义一个环境变量来使用了。先来定义一个变量,设置-》CI/CD-》变量在.g......
  • mybatis关于自定义映射的使用方法
    在MyBatis中,可以通过SQL映射文件来自定义映射,即将一个查询结果映射成一个Java对象。在映射中,我们可以控制如何从查询结果中提取数据,并将其映射到Java对象的属性中。以下是一些常用的自定义映射方式:resultMap:使用resultMap元素来定义映射规则,可以精确地将查询结果映......
  • redis学习4集群--黑马
    主从复制将master中的数据有效的复制到slave中master写数据执行写操作时,将出现变化的数据自动同步到slave读数据(可忽略)slave读数据写数据(禁止)主从连接(slave连接master)方式一:客户端发送命令slaveof方式二:启动服务器参数redis-server-slaveof方式三:服务器配......
  • Redis集群方案应该怎么做?
    Redis集群方案应该怎么做Redis是一款流行的内存数据库,适用于高性能的数据缓存和实时数据处理。当需要处理大量数据时,可以使用Redis集群来提高性能和可用性。Redis在单节点模式下,虽然可以支持高并发、快速读写、丰富的数据结构等特性,但是单节点模式存在一些问题,比如存储容量有限、单......
  • Redis的内存占用情况怎么样?
    Redis的内存占用情况怎么样大家都清楚Redis内存占用情况:与存储的数据量、配置参数、服务器内存大小等因素有关。在默认情况下,Redis 会使用尽可能多的内存,直到服务器的内存资源被占满。那么大家知道,为什么在默认情况下Redis 会使用尽可能多的内存吗?因为Redis 是一个基于内存的数......
  • 2023-05-24:为什么要使用Redis做缓存?
    2023-05-24:为什么要使用Redis做缓存?答案2023-05-24:缓存的好处买啤酒和喝啤酒的例子可以帮助我们理解缓存的好处。假设你在超市里买了一箱啤酒,如果你需要每次想喝啤酒就去超市购买,无疑会浪费很多时间和精力。而如果你将一部分啤酒放在家中的冰箱里,每次想喝啤酒时就从冰箱里取出来,那......
  • 2023-05-24:为什么要使用Redis做缓存?
    2023-05-24:为什么要使用Redis做缓存?答案2023-05-24:缓存的好处买啤酒和喝啤酒的例子可以帮助我们理解缓存的好处。假设你在超市里买了一箱啤酒,如果你需要每次想喝啤酒就去超市购买,无疑会浪费很多时间和精力。而如果你将一部分啤酒放在家中的冰箱里,每次想喝啤酒时就从冰箱里取出......
  • mac os 安装 redis
    目的:本地调试使用,安装到mac要求:本地程序调用,集群部署,测试使用,1主1从参考:1、https://redis.io/download/  (官网下载地址)2、https://www.runoob.com/redis/redis-install.html  (了解安装过程和基础使用)3、https://blog.csdn.net/I_lost/article/details/1271......
  • vs2019打包程序时添加自定义的系统必备组件
     若要创建引导程序包,必须创建产品清单产品清单 product.xml包清单 package.xml 将文件复制到引导程序文件夹位置C:\ProgramFiles(x86)\MicrosoftVisualStudio14.0\SDK\Bootstrapper\Packages文件夹下    ......
  • Redis的数据类型总结
    1:StringString有三种编码方式:int(整数型,直接以RedisObject存储)、raw(大于等于32位,使用sds进行存储)、内存结构为*ptr指向一个sdshdr,需要申请两次内存,可以修改!)embstr(小于32位),其中embstr只需要一次内存分配,数据比较小的时候使用,但他是只读的,如果需要修改会变为raw再执行修改2:Li......