From 80b6cbfc9c861469146318d0b3dd5f8b8b525b8a Mon Sep 17 00:00:00 2001 From: xiejun <xiejun@vci-tech.com> Date: 星期五, 01 十一月 2024 15:11:19 +0800 Subject: [PATCH] Revert "集成获取mdm分发通用数据格式接口集成" --- Source/BladeX-Tool/blade-starter-redis/src/main/java/org/springblade/core/redis/config/RedisTemplateConfiguration.java | 83 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 83 insertions(+), 0 deletions(-) diff --git a/Source/BladeX-Tool/blade-starter-redis/src/main/java/org/springblade/core/redis/config/RedisTemplateConfiguration.java b/Source/BladeX-Tool/blade-starter-redis/src/main/java/org/springblade/core/redis/config/RedisTemplateConfiguration.java new file mode 100644 index 0000000..43fb6bb --- /dev/null +++ b/Source/BladeX-Tool/blade-starter-redis/src/main/java/org/springblade/core/redis/config/RedisTemplateConfiguration.java @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2018-2028, DreamLu All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: DreamLu 鍗㈡槬姊� (596392912@qq.com) + */ + +package org.springblade.core.redis.config; + +import org.springblade.core.jwt.config.JwtRedisConfiguration; +import org.springblade.core.redis.cache.BladeRedis; +import org.springblade.core.redis.serializer.RedisKeySerializer; +import org.springframework.boot.autoconfigure.AutoConfiguration; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.context.annotation.Bean; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.data.redis.core.ValueOperations; +import org.springframework.data.redis.serializer.RedisSerializer; + +/** + * RedisTemplate 閰嶇疆 + * + * @author L.cm + */ +@EnableCaching +@AutoConfiguration(before = {JwtRedisConfiguration.class, RedisAutoConfiguration.class}) +@EnableConfigurationProperties(BladeRedisProperties.class) +public class RedisTemplateConfiguration implements BladeRedisSerializerConfigAble { + + /** + * value 鍊� 搴忓垪鍖� + * + * @return RedisSerializer + */ + @Bean + @ConditionalOnMissingBean(RedisSerializer.class) + @Override + public RedisSerializer<Object> redisSerializer(BladeRedisProperties properties) { + return defaultRedisSerializer(properties); + } + + @Bean(name = "redisTemplate") + @ConditionalOnMissingBean(name = "redisTemplate") + public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory, RedisSerializer<Object> redisSerializer) { + RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>(); + // key 搴忓垪鍖� + RedisKeySerializer keySerializer = new RedisKeySerializer(); + redisTemplate.setKeySerializer(keySerializer); + redisTemplate.setHashKeySerializer(keySerializer); + // value 搴忓垪鍖� + redisTemplate.setValueSerializer(redisSerializer); + redisTemplate.setHashValueSerializer(redisSerializer); + redisTemplate.setConnectionFactory(redisConnectionFactory); + return redisTemplate; + } + + @Bean + @ConditionalOnMissingBean(ValueOperations.class) + public ValueOperations valueOperations(RedisTemplate redisTemplate) { + return redisTemplate.opsForValue(); + } + + @Bean + public BladeRedis bladeRedis(RedisTemplate<String, Object> redisTemplate, StringRedisTemplate stringRedisTemplate) { + return new BladeRedis(redisTemplate, stringRedisTemplate); + } + +} -- Gitblit v1.9.3