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

        <!--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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值