RedisConfig.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package com.yaozhitech.spring5.config;
  2. import org.springframework.cache.annotation.CachingConfigurerSupport;
  3. import org.springframework.context.annotation.Bean;
  4. import org.springframework.context.annotation.Configuration;
  5. import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory;
  6. import org.springframework.data.redis.connection.RedisConnectionFactory;
  7. import org.springframework.data.redis.core.ReactiveRedisTemplate;
  8. import org.springframework.data.redis.core.ReactiveStringRedisTemplate;
  9. import org.springframework.data.redis.core.RedisTemplate;
  10. import org.springframework.data.redis.core.StringRedisTemplate;
  11. import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
  12. import org.springframework.data.redis.serializer.RedisSerializationContext;
  13. import org.springframework.data.redis.serializer.StringRedisSerializer;
  14. /**
  15. * redis 配置
  16. *
  17. * @author yinzy
  18. */
  19. @Configuration
  20. public class RedisConfig extends CachingConfigurerSupport {
  21. public static String cachePrefix = "bbc:";
  22. @Bean
  23. public StringRedisSerializer stringRedisSerializer() {
  24. return new StringRedisSerializer();
  25. }
  26. @Bean
  27. public GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer() {
  28. return new GenericJackson2JsonRedisSerializer();
  29. }
  30. @Bean
  31. public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory){
  32. StringRedisTemplate template = new StringRedisTemplate();
  33. template.setConnectionFactory(redisConnectionFactory);
  34. return template;
  35. }
  36. @Bean
  37. public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory,
  38. StringRedisSerializer stringRedisSerializer,
  39. GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer) {
  40. RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
  41. redisTemplate.setConnectionFactory(redisConnectionFactory);
  42. redisTemplate.setKeySerializer(stringRedisSerializer);
  43. redisTemplate.setValueSerializer(genericJackson2JsonRedisSerializer);
  44. redisTemplate.setHashKeySerializer(stringRedisSerializer);
  45. redisTemplate.setHashValueSerializer(genericJackson2JsonRedisSerializer);
  46. return redisTemplate;
  47. }
  48. @Bean
  49. public ReactiveRedisTemplate<Object, Object> reactiveRedisTemplate(ReactiveRedisConnectionFactory reactiveRedisConnectionFactory) {
  50. ReactiveRedisTemplate<Object, Object> redisTemplate = new ReactiveRedisTemplate(reactiveRedisConnectionFactory,
  51. RedisSerializationContext.fromSerializer(genericJackson2JsonRedisSerializer()));
  52. return redisTemplate;
  53. }
  54. @Bean
  55. public ReactiveStringRedisTemplate ReactiveStringRedisTemplate(ReactiveRedisConnectionFactory reactiveRedisConnectionFactory){
  56. ReactiveStringRedisTemplate template = new ReactiveStringRedisTemplate(reactiveRedisConnectionFactory);
  57. return template;
  58. }
  59. }