千家信息网

spring boot redis

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,dependency org.springframework.boot spring-boot-starter-data-redis
千家信息网最后更新 2025年01月31日spring boot redis

dependency

                    org.springframework.boot            spring-boot-starter-data-redis                            org.apache.commons            commons-pool2        

application-redis.properties

#########基础配置#########spring.redis.database=0#spring.redis.url=redis://user:password@example.com:6379spring.redis.host=spring.redis.port=spring.redis.password=spring.redis.timeout=30000spring.redis.ssl=false#########redis哨兵设置##########spring.redis.sentinel.master=#spring.redis.sentinel.nodes=#spring.redis.cluster.max-redirects=#spring.redis.cluster.nodes=#########jedis client 线程池配置##########spring.redis.jedis.pool.max-active=#spring.redis.jedis.pool.max-idle=#spring.redis.jedis.pool.min-idle=#spring.redis.jedis.pool.max-wait=#########lettuce client 线程池配置(默认)#########spring.redis.lettuce.pool.max-active=10spring.redis.lettuce.pool.max-idle=5spring.redis.lettuce.pool.min-idle=1spring.redis.lettuce.pool.max-wait=20000spring.redis.lettuce.shutdown-timeout=10

Test

@RunWith(SpringRunner.class)@SpringBootTestpublic class AnnotationAppContextTest {    @Autowired    private RedisTemplate redisTemplate;    @Autowired    private StringRedisTemplate stringRedisTemplate;    @Test    public void setTest(){        redisTemplate.opsForValue().set("key1","val1", 100);        String key1 = redisTemplate.opsForValue().get("key1");        System.err.println("=============="+key1);    }}

源码-RedisProperties

@ConfigurationProperties(prefix = "spring.redis")public class RedisProperties {    /**     * Database index used by the connection factory.     */    private int database = 0;    /**     * Connection URL. Overrides host, port, and password. User is ignored. Example:     * redis://user:password@example.com:6379     */    private String url;    /**     * Redis server host.     */    private String host = "localhost";    /**     * Login password of the redis server.     */    private String password;    /**     * Redis server port.     */    private int port = 6379;    /**     * Whether to enable SSL support.     */    private boolean ssl;    /**     * Connection timeout.     */    private Duration timeout;    private Sentinel sentinel;    private Cluster cluster;    private final Jedis jedis = new Jedis();    private final Lettuce lettuce = new Lettuce();}   

源码-RedisAutoConfiguration

@Configuration@ConditionalOnClass(RedisOperations.class)@EnableConfigurationProperties(RedisProperties.class)@Import({ LettuceConnectionConfiguration.class, JedisConnectionConfiguration.class })public class RedisAutoConfiguration {    @Bean    @ConditionalOnMissingBean(name = "redisTemplate")    public RedisTemplate redisTemplate(            RedisConnectionFactory redisConnectionFactory) throws UnknownHostException {        RedisTemplate template = new RedisTemplate<>();        template.setConnectionFactory(redisConnectionFactory);        return template;    }    @Bean    @ConditionalOnMissingBean(StringRedisTemplate.class)    public StringRedisTemplate stringRedisTemplate(            RedisConnectionFactory redisConnectionFactory) throws UnknownHostException {        StringRedisTemplate template = new StringRedisTemplate();        template.setConnectionFactory(redisConnectionFactory);        return template;    }}

参考:https://blog.csdn.net/abombhz/article/details/78123253?locationNum=6&fps=1

0