SpringBoot+Vue前后端分离实现高并发秒杀——后端项目知识总结

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41413094/article/details/94378800

一、极限编程的基本过程

构思 -> 编写测试代码 ->编写代码 ->测试
看情况使用,可以较快的追踪到问题的原因,减少回归错误的纠错难度

二、Redis的五种数据结构

String 可以是字符串、整数或者浮点数
List 一个链表,链表上的每个节点都包含了一个字符串
Set 包含字符串的无序收集器,并且被包含的每个字符串都是独一无二的
Hash 包含键值对的无序散列表
ZSet 字符串成员与浮点数分值之间的有序映射,元素的排列顺序由分值的大小决定

三、RedisTemplate中定义对5种数据结构操作

//操作字符串
redisTemplate.opsForValue();
//操作Hash
redisTemplate.opsForHash();
//操作List
redisTemplate.opsForList();
//操作Set
redisTemplate.opsForSet();
//操作ZSet
redisTemplate.opsForZSet();

四、Spring-date-redis默认采用的序列化策略

String的序列化策略 StringRedisTemplate默认采用此策略保存key和value
JDK的序列化策略 RedisTemplate默认采用此策略保存key和value

五、JPA和Hibernate的区别

JPA是一个规范或者接口
Hibernate是JPA的一个实现

六、登录功能需要考虑的问题

1.页面的设计
2.用户输入客户端和服务端的效验
3.密码安全性
4.登录状态的保持
5.防止恶意势力攻击
6.是否支持第三方登录
7.是否支持单点登录,可以使用Springboot+SpringSecurityOAuth
8.是否支持手机登录
9.海量注册用户登录,分库分表,redis缓存,客户端缓存

七、JSR303-validation服务端的效验

@NotBank(message = “”) 检查约束字符串是不是null还被Trim的长度是否大于0,只对字符串,会去掉前后空格,message返回错误信息
@Valid 用于Controller中接收需要效验的参数
BindingResult对象,用于获取效验失败情况下的反馈信息

八、注解@CrossOrigin(origins = “*”, allowCredentials = “true”)实现跨域请求

九、Mock测试

例:

@Test
    public void loginTest() throws Exception {
    	//  post请求传参
        MvcResult result = mockMvc.perform(post("/api/login").param("username", "kaneki").param("password", "123456")
                .contentType(MediaType.APPLICATION_JSON))
                // 状态
                .andExpect(status().isOk())
                .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8))
                .andReturn();
        System.out.println(result.getResponse().getContentAsString());
    }
展开阅读全文

没有更多推荐了,返回首页