您的位置:首页 > Web前端 > Vue.js

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

2019-07-01 10:29 3255 查看
版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

一、极限编程的基本过程

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

二、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());
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐