1.Docker安裝Redis
在開發中,我們經常會遇到使用redis的場景:比如一些固定的數據,高頻訪問且基本不變的數據,變化頻率低的都可以存入緩存中,加快系統的訪問速度。目的就是為了提高系統的查詢效率,提高性能。
1.1下載redis
docker pull redis:3.2
1.2.創建redis容器指令:
創建要掛載的文件夾
mkdir -p /mydata/redis/data
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
掛載外部目錄
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
1.3.連接redis客戶端
docker exec -it redis redis-cli
2.SpringBoot連接Redis
2.1.引入依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.2.配置信息
spring:
redis:
host: //自己的IP地址
database: 0 //第幾個庫
port: 6379 //映射的端口
2.3.使用方法1,StringRedisTemplate是只操作String的
@Autowired //先自動注入
private StringRedisTemplate stringRedisTemplate;
stringRedisTemplate.opsForValue().set("hello","world"); //設置值
String hello =stringRedisTemplate.opsForValue().get("hello");//獲取值
4.使用方法2,ReisTemplate可以操作五種類型
@Autowired
private RedisTemplate redisTemplate;
stringRedisTemplate.opsForValue(); //操作redis的string類型
stringRedisTemplate.opsForHash(); //操作redis的hash類型
stringRedisTemplate.opsForList(); //操作redis的list類型
5.修改redis的默認序列化工具
@Configuration
public class RedisConfig {
@Bean("redisTemplate")
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory)
throws UnknownHostException {
RedisTemplate<Object, Object> template = new RedisTemplate<>();
template.setConnectionFactory(redisConnectionFactory);
template.setDefaultSerializer(new GenericJackson2JsonRedisSerializer());
return template;
}
}
可將Redis保存的對象用JSON格式保存。更加靈活