docker部署redis
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格式保存。更加灵活