SpringBoot1.0版本2.0版本配置redis
pom 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
yml文件配置
#springboot版本为2:0:2RELEASE中: redis: # Redis数据库索引(默认为0) database: 10 # Redis服务器地址 host: localhost # Redis服务器连接端口 port: 6379 # Redis服务器连接密码(默认为空) password: wiki123 timeout: 3 jedis: pool: max-active: 8 # 连接池最大连接数(使用负值表示没有限制) max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制) max-idle: 8 # 连接池中的最大空闲连接 min-idle: 0 # 连接池中的最小空闲连接
#redis配置 springboot版本为1.3.2RELEASE中的RedisProperties配置文件类 # redis: # # Redis数据库索引(默认为0) # database: 10 # # Redis服务器地址 # host: localhost # # Redis服务器连接端口 # port: 6379 # # Redis服务器连接密码(默认为空) # password: wiki123 # timeout: 3 # pool: # # 连接池最大连接数(使用负值表示没有限制) # max-active: 8 # # 连接池最大阻塞等待时间(使用负值表示没有限制) # max-wait: -1 # # 连接池中的最大空闲连接 # max-idle: 8 # # 连接池中的最小空闲连接 # min-idle: 0 # # 连接超时时间(毫秒)
配置redis
package top.xz.hand.config; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; import redis.clients.jedis.JedisPoolConfig; @Configuration @EnableAutoConfiguration public class RedisConfig { /** * 获取JedisPoolConfig配置 * * @return */ @Bean @ConfigurationProperties(prefix = "spring.redis.jedis.pool") public JedisPoolConfig getRedisConfig(){ JedisPoolConfig config = new JedisPoolConfig(); return config; } /** * 获取JedisConnectionFactory工厂 * * @return */ @Bean @ConfigurationProperties(prefix = "spring.redis") public JedisConnectionFactory getConnectionFactory() { JedisConnectionFactory factory = new JedisConnectionFactory(); factory.setUsePool(true); JedisPoolConfig config = getRedisConfig(); factory.setPoolConfig(config); return factory; } /** * 获取RedisTemplate模板 * * @return */ @Bean public RedisTemplate<?, ?> getRedisTemplate() { JedisConnectionFactory factory = getConnectionFactory(); RedisTemplate<?, ?> template = new StringRedisTemplate(factory); return template; } }
redis接口
package top.xz.hand.service; public interface RedisService { /** * set存数据 * @param key * @param value * @return */ boolean set(String key, String value); /** * get获取数据 * @param key * @return */ String get(String key); /** * 设置有效天数 * @param key * @param expire * @return */ boolean expire(String key, long expire); /** * 移除数据 * @param key * @return */ boolean remove(String key); }
实现
package top.xz.hand.service.impl; import org.springframework.dao.DataAccessException; import org.springframework.data.redis.connection.RedisConnection; import org.springframework.data.redis.core.RedisCallback; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.RedisSerializer; import org.springframework.stereotype.Service; import top.xz.hand.service.RedisService; import javax.annotation.Resource; import java.util.concurrent.TimeUnit; @Service public class RedisServiceImpl implements RedisService { @Resource private RedisTemplate<String, ?> redisTemplate; @Override public boolean set(final String key, final String value) { boolean result = redisTemplate.execute(new RedisCallback<Boolean>() { @Override public Boolean doInRedis(RedisConnection connection) throws DataAccessException { RedisSerializer<String> serializer = redisTemplate.getStringSerializer(); connection.set(serializer.serialize(key), serializer.serialize(value)); return true; } }); return result; } @Override public String get(final String key) { String result = redisTemplate.execute(new RedisCallback<String>() { @Override public String doInRedis(RedisConnection connection) throws DataAccessException { RedisSerializer<String> serializer = redisTemplate.getStringSerializer(); byte[] value = connection.get(serializer.serialize(key)); return serializer.deserialize(value); } }); return result; } @Override public boolean expire(final String key, long expire) { return redisTemplate.expire(key, expire, TimeUnit.SECONDS); } @Override public boolean remove(final String key) { boolean result = redisTemplate.execute(new RedisCallback<Boolean>() { @Override public Boolean doInRedis(RedisConnection connection) throws DataAccessException { connection.del(key.getBytes()); return true; } }); return result; } }
一点点

浙公网安备 33010602011771号