¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * 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); |
| | | } |
| | | |
| | | } |