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

posted @ 2020-03-04 23:55  风不辞  阅读(954)  评论(0编辑  收藏  举报