缓存优化

HeJin小于 1 分钟

00.问题说明

  • 用户数量多,系统访问量大。
  • 频繁访问数据库,系统性能下降,用户体验差。

01.环境搭建

虚拟机安装redis

docker pull redis:7.0.8

docker run --name some-redis -d redis:7.0.8

# 下载配置文件
cd /home/redis/conf
wget http://download.redis.io/redis-stable/redis.conf
# 修改配置文件,添加密码
requirepass root

docker run -p 6379:6379 --name redis -v /home/redis/conf/redis.conf:/etc/redis/redis.conf  -v /home/redis/data:/data -d redis:7.0.8 redis-server /etc/redis/redis.conf --appendonly yes

项目配置

  • 依赖导入:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    
  • 修改application.yml:

    spring:
      redis:
        host: 192.168.1.222
        port: 6379
        password: root
        database: 0
    
  • 序列化配置类:

    @Configuration
    public class RedisConfig extends CachingConfigurerSupport {
    
        @Bean
        public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory)
        {
            RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();
            redisTemplate.setConnectionFactory(connectionFactory);
            // 设置序列化的方式
            redisTemplate.setKeySerializer(RedisSerializer.string());
            redisTemplate.setHashKeySerializer(RedisSerializer.string());
            redisTemplate.setValueSerializer(RedisSerializer.json());
            redisTemplate.setHashValueSerializer(RedisSerializer.string());
    
            return redisTemplate;
        }
    
    }
    

02.缓存短信验证码

03.缓存菜品数据

04.缓存套餐数据