RedisConfig.java 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package com.poyee.config;
  2. import org.apache.commons.lang3.StringUtils;
  3. import org.redisson.Redisson;
  4. import org.redisson.api.RedissonClient;
  5. import org.redisson.config.Config;
  6. import org.redisson.config.SentinelServersConfig;
  7. import org.redisson.config.SingleServerConfig;
  8. import org.springframework.beans.factory.annotation.Value;
  9. import org.springframework.cache.annotation.EnableCaching;
  10. import org.springframework.context.annotation.Bean;
  11. import org.springframework.context.annotation.Configuration;
  12. import org.springframework.data.redis.connection.RedisConnectionFactory;
  13. import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
  14. import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
  15. import org.springframework.data.redis.core.*;
  16. import org.springframework.data.redis.listener.RedisMessageListenerContainer;
  17. import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
  18. import org.springframework.data.redis.serializer.StringRedisSerializer;
  19. import java.io.IOException;
  20. /**
  21. * Redis配置
  22. *
  23. * @author zheng
  24. */
  25. @Configuration
  26. @EnableCaching
  27. public class RedisConfig {
  28. @Value("${spring.redis.host:127.0.0.1}")
  29. private String host;
  30. @Value("${spring.redis.port:6379}")
  31. private Integer port;
  32. @Value("${spring.redis.password}")
  33. private String password;
  34. @Value("${spring.redis.sentinel.nodes:127.0.0.1:6379}")
  35. private String nodes;
  36. @Value("${spring.redis.sentinel.master:master}")
  37. private String master;
  38. @Bean
  39. public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory)
  40. {
  41. RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
  42. redisTemplate.setKeySerializer(new StringRedisSerializer());
  43. redisTemplate.setHashKeySerializer(new StringRedisSerializer());
  44. redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
  45. redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
  46. // 开启事务
  47. //redisTemplate.setEnableTransactionSupport(true);
  48. redisTemplate.setConnectionFactory(factory);
  49. return redisTemplate;
  50. }
  51. @Bean
  52. public HashOperations<String, String, Object> hashOperations(RedisTemplate<String, Object> redisTemplate)
  53. {
  54. return redisTemplate.opsForHash();
  55. }
  56. @Bean
  57. public ValueOperations<String, String> valueOperations(RedisTemplate<String, String> redisTemplate)
  58. {
  59. return redisTemplate.opsForValue();
  60. }
  61. @Bean
  62. public ListOperations<String, Object> listOperations(RedisTemplate<String, Object> redisTemplate)
  63. {
  64. return redisTemplate.opsForList();
  65. }
  66. @Bean
  67. public SetOperations<String, Object> setOperations(RedisTemplate<String, Object> redisTemplate)
  68. {
  69. return redisTemplate.opsForSet();
  70. }
  71. @Bean
  72. public ZSetOperations<String, Object> zSetOperations(RedisTemplate<String, Object> redisTemplate)
  73. {
  74. return redisTemplate.opsForZSet();
  75. }
  76. }