springboot redis 秒杀完整案例

  • Post author:
  • Post category:其他



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 加依赖

        <!--redis 依赖-->
        <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
		</dependency>

        <!--对象池 依赖-->
        <dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-pools</artifactId>
		</dependency>

        <!--session 依赖-->
        <dependency>
			<groupId>org.springframework.session</groupId>
			<artifactId>spring-session-data-redis</artifactId>
		</dependency>

16.02 配置yml

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

17.01 加依赖

        <!--redis 依赖-->
        <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
		</dependency>

        <!--对象池 依赖-->
        <dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-pools</artifactId>
		</dependency>

17.02 配置yml

17.03 redis配置类 实现序列化

@Configuration
public class RedisConfig {
    @Bean
    public RedisTemplate<String, Object> 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



版权声明:本文为tenc1239原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。