SpringBoot-Redis之通过spring注入JedisPool

xiaoxiao2021-02-27  133

springboot驱动注解,使用spring注入JedisPool便可封装自己的redis工具类。这种方式通过jedisPool,以后讲通过spring data redis实现。

springBoot驱动注解: import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.cache.annotation.CachingConfigurerSupport; import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; /** * 类名:RedisCacheConfiguration<br> * 描述:<br> * 创建人:<br> * 创建时间:2016/9/6 17:33<br> * * @version v1.0 */ @Configuration @EnableCaching public class RedisCacheConfiguration extends CachingConfigurerSupport { Logger logger = LoggerFactory.getLogger(RedisCacheConfiguration.class); @Value("${spring.redis.host}") private String host; @Value("${spring.redis.port}") private int port; @Value("${spring.redis.timeout}") private int timeout; @Value("${spring.redis.pool.max-idle}") private int maxIdle; @Value("${spring.redis.pool.max-wait}") private long maxWaitMillis; @Value("${spring.redis.password}") private String password; @Bean public JedisPool redisPoolFactory() { logger.info("JedisPool注入成功!!"); logger.info("redis地址:" + host + ":" + port); JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); jedisPoolConfig.setMaxIdle(maxIdle); jedisPoolConfig.setMaxWaitMillis(maxWaitMillis); JedisPool jedisPool = new JedisPool(jedisPoolConfig, host, port, timeout, password); return jedisPool; } } redis配置文件: # REDIS (RedisProperties) # Redis数据库索引(默认为0) spring.redis.database=0 # Redis服务器地址 spring.redis.host=192.168.1.80 # Redis服务器连接端口 spring.redis.port=6379 # Redis服务器连接密码(默认为空) spring.redis.password=redis # 连接池最大连接数(使用负值表示没有限制) spring.redis.pool.max-active=8 # 连接池最大阻塞等待时间(使用负值表示没有限制) spring.redis.pool.max-wait=-1 # 连接池中的最大空闲连接 spring.redis.pool.max-idle=8 # 连接池中的最小空闲连接 spring.redis.pool.min-idle=0 # 连接超时时间(毫秒) spring.redis.timeout=0 测试: @Autowired JedisPool jedisPool; String uuid = UUID.randomUUID().toString() Jedis jedis = jedisPool.getResource() jedis.setex("ssssssss", 1000, uuid); JedisPool简单 进行封装: public class JedisClientSingle { @Autowired private JedisPool jedisPool; //获取key的value值 public String get(String key) { Jedis jedis = jedisPool.getResource(); String str = ""; try { str = jedis.get(key); } finally { try { jedis.close(); } catch (Exception e) { e.printStackTrace(); } } return str; } public String set(String key, String value) { Jedis jedis = jedisPool.getResource(); String str = ""; try { str = jedis.set(key, value); } finally { try { jedis.close(); } catch (Exception e) { e.printStackTrace(); } } return str; } public String setex(String key, int seconds, String value) { Jedis jedis = jedisPool.getResource(); String str = ""; try { str = jedis.setex(key, seconds, value); } finally { try { jedis.close(); } catch (Exception e) { e.printStackTrace(); } } return str; } }
转载请注明原文地址: https://www.6miu.com/read-15573.html

最新回复(0)