springboot redis 秒杀完整案例

https://www.bilibili.com/video/BV1sf4y1L7KE?p=12&spm_id_from=pageDriver&vd_source=ff8b7f852278821525f11666b36f180a

p12 登录cookie session 页面跳转

p13 分布式session ->redis

p14 redis 安装

p16 springsession 实现分布式session

        16.01 加依赖

        
        
			org.springframework.boot
			spring-boot-starter-data-redis
		

        
        
			org.apache.commons
			commons-pools
		

        
        
			org.springframework.session
			spring-session-data-redis
		

        16.02 配置yml

p17  第二种方法实现分布式session

        17.01 加依赖

        
        
			org.springframework.boot
			spring-boot-starter-data-redis
		

        
        
			org.apache.commons
			commons-pools
		

        17.02 配置yml

        17.03 redis配置类 实现序列化

@Configuration
public class RedisConfig {
    @Bean
    public RedisTemplate redisTemplate(RedisConnectionFactiry redisConnectionFactory) {

      RedisTemplate<> redisTemplate = new RedisTemplate<>();
        
      // 配置reidsTemplate 
      // key 序列化
      redisTemplate.setKeySerializer(new StringRedisSerializer());
      // value 序列化
      redisTemplate.setValueSerializer(new GenericJackson2JsonRedisRedisSerializer());

      // hash类型 key 序列化
      redisTemplate.setHashKeySerializer(new StringRedisSerializer());
      // hash类型 value 序列化
      redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisRedisSerializer());
        

      // 注入连接工厂
      redisTemplate.setConnectionFactory(redisConnectionFactory);
      return redisTemplate;
    }


}

        17.04 使用

// 第一种方法的使用 
// request.getSession().setAttribute(ticket, user);

// 序列化使用redistemplate set值
redisTemplate.opsForValue().set("user" + ticket, user);
// get值
// 创建方法 getUerByCookie
User user = (User)redisTemplate.opsForValue().get("user", + userTicket);
// 使用方法 
User user = userService.getUerByCookie(ticket, request, reponse);

p18 优化登录 MVC配置类 @EnableWebMvc

你可能感兴趣的:(redis,数据库,缓存)