仿大众点评
文章平均质量分 97
Java技术一点通
本人计算机软件工程专业在读,擅长于Java后端开发,有多个项目开发经验,业余丰富各种技术栈,大学期间参与软件研发中心研究。荣获2023年CSDN博客之星、CSDN城市之星、阿里云社区专家博主、华为云享专家,致力于新技术的推广与优秀作品的普及。
展开
-
仿大众点评项目 —— 各阶段详细笔记总结
发送验证码:用户在提交手机号后,会校验手机号是否合法,如果不合法,则要求用户重新输入手机号。如果手机号合法,后台此时生成对应的验证码,同时将验证码进行保存,然后再通过短信的方式将验证码发送给用户。短信验证码登录、注册:用户将验证码和手机号进行输入,后台从session中拿到当前验证码,然后和用户输入的验证码进行校验,如果不一致,则无法通过校验,如果一致,则后台根据手机号查询用户,如果用户不存在,则为用户创建账号信息,保存到数据库,无论是否存在,都会将用户信息保存到session中,方便后续获得当前登录信息。原创 2023-07-19 10:18:02 · 625 阅读 · 1 评论 -
仿大众点评项目 —— Day04【达人探店、好友关注、附近商户、用户签到、UV统计】
当我们关注了用户后,这个用户发了动态,那么我们应该把这些数据推送给用户,这个需求,其实我们又把他叫做Feed流,关注推送也叫做Feed流,直译为投喂。为用户持续的提供“沉浸式”的体验,通过无限下拉刷新获取新的信息。对于传统的模式的内容解锁:我们是需要用户去通过搜索引擎或者是其他的方式去解锁想要看的内容。原创 2023-07-17 08:34:29 · 186 阅读 · 0 评论 -
仿大众点评项目 —— Day03【分布式锁redission、秒杀优化、Redis消息队列】
重入问题:重入问题是指 获得锁的线程可以再次进入到相同的锁的代码块中,可重入锁的意义在于防止死锁,比如HashTable这样的代码中,他的方法都是使用synchronized修饰的,假如他在一个方法内,调用另一个方法,那么此时如果是不可重入的,不就死锁了吗?所以可重入锁他的主要意义是防止死锁,我们的synchronized和Lock锁都是可重入的。不可重试:是指目前的分布式只能尝试一次,我们认为合理的情况是:当线程在获得锁失败后,他应该能再次尝试获得锁。原创 2023-07-12 10:35:01 · 242 阅读 · 0 评论 -
仿大众点评项目 —— Day02【优惠券秒杀、分布式锁】
场景分析:如果我们的id具有太明显的规则,用户或者说商业对手很容易猜测出来我们的一些敏感信息,比如商城在一天时间内,卖出了多少单,这明显不合适。场景分析二:随着我们商城规模越来越大,mysql的单表的容量不宜超过500W,数据量过大之后,我们要进行拆库拆表,但拆分表了之后,他们从逻辑上讲他们是同一张表,所以他们的id是不能一样的, 于是乎我们需要保证id的唯一性。原创 2023-07-10 08:56:27 · 217 阅读 · 0 评论 -
仿大众点评项目 —— Day01【短信登录、商户查询缓存】
在这个方案中,他确实可以使用对应路径的拦截,同时刷新登录token令牌的存活时间,但是现在这个拦截器他只是拦截需要被拦截的路径,假设当前用户访问了一些不需要拦截的路径,那么这个拦截器就不会生效,所以此时令牌刷新的动作实际上就不会执行,所以这个方案他是存在问题的。缓存(Cache),就是数据交换的缓冲区,俗称的缓存就是缓冲区内的数据,一般从数据库中获取,存储于本地代码。原创 2023-07-08 21:21:38 · 164 阅读 · 0 评论