摘要: Springboot实战——黑马点评之 秒杀优化 1 秒杀优化 先来复习以下,秒杀优惠券业务的现有实现逻辑: 以上流程图中的操作串行执行,效率极低。 其中 判断秒杀库存 以及 校验一人一单 属于对数据库的读取,耗时较少;扣减库存 以及 创建订单 属于对数据库的写操作,耗时相对较久。 提升效率的方法我 阅读全文
posted @ 2024-09-28 17:01 CandyWang- 阅读(109) 评论(0) 推荐(0) 编辑
摘要: Springboot实战——黑马点评之附近商铺 1 认识GEO存储 1.1 GEO是什么 1.2 GEO怎么在Redis中存储 2 数据库店铺导入Redis 将数据库中的店铺数据按店铺类型type为关键字,分类存入Redis里 数据结构: key(shop_type) -- sortedSet so 阅读全文
posted @ 2024-09-24 15:11 CandyWang- 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 黑马点评——达人探店及关注推送 1 探店业务实现 1.1 探店笔记发布 1)笔记blog字段属性 除此之外,在"搜索博客"接口实现中会涉及到向前端展示用户的部分信息,例如用户头像icon、用户昵称name、用户是否点赞该博客islike(用于对点赞按钮高亮作实现),在设计实体类时使用springbo 阅读全文
posted @ 2024-09-24 14:56 CandyWang- 阅读(70) 评论(0) 推荐(0) 编辑
摘要: leetCode刷题笔记(9.2-9.9) 48.旋转图像(9.3) 1)图像即二维数组,图像的旋转本质上是二维数组的旋转变换 2)二维数组从外层来看,是若干个子数组的集合,子数组内部维护各自的元素,即若干个row里是row.length个column 3)由此可理解下面几个关于二维数组的函数: 创 阅读全文
posted @ 2024-09-09 09:57 CandyWang- 阅读(35) 评论(0) 推荐(0) 编辑
摘要: Springboot黑马点评(3)——优惠券秒杀 【还剩Redisson的最后两节没测试 后续补上】 另外,后期单独整理一份关于分布式锁笔记 1 优惠券秒杀实现 1.1 用户-优惠券订单设计 1.1.1 全局ID生成器 使用数据库自增ID作为订单ID存在问题 1.1.2 考虑全局唯一ID生成逻辑 时 阅读全文
posted @ 2024-09-02 10:14 CandyWang- 阅读(104) 评论(0) 推荐(0) 编辑
摘要: LeetCode刷题笔记8.19-8.24 76.最小覆盖子串(8.19) 算法常见技巧——滑动窗口 滑动窗口即维护一个窗口(特定数据结构),来替代暴力遍历子结构这种“笨办法” 窗口所涉及到的元素由left和right两个指针选定,选定范围从(left,right]开始,随着right指针向后遍历, 阅读全文
posted @ 2024-08-26 11:35 CandyWang- 阅读(4) 评论(0) 推荐(0) 编辑
摘要: Springboot黑马点评——缓存 1 缓存初识与简单实现 1.1 根据商铺id的缓存查询 基础缓存实现: 考虑到有数据会同时存在于数据库和缓存中,所以: Q:数据库和缓存的数据一致性问题? A:三种缓存更新策略用来解决一致性问题 1.2 缓存更新策略的选择 第一种:内存淘汰 第二种:超时剔除 第 阅读全文
posted @ 2024-08-22 21:00 CandyWang- 阅读(139) 评论(0) 推荐(0) 编辑
摘要: Leetcode刷题笔记8.12-8.16 19.删除倒数第n个链表结点(8.12) 一个巧妙删除倒数第n个结点的trick 该方法避免了对链表的一次全面扫描来获得总长度 // 返回链表的倒数第 k 个节点 ListNode findFromEnd(ListNode head, int k) { L 阅读全文
posted @ 2024-08-16 17:05 CandyWang- 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 黑马点评(一)——短信登录功能 短信登录:redis的共享session (已完成) 商户查询缓存:企业的缓存使用场景、缓存雪崩、穿透问题 达人探店:基于list的点赞列表、基于sortedSet的点赞排行榜 优惠券秒杀:Redis的计数器、Lua脚本Redis、分布式锁、Redis的三种消息队列 阅读全文
posted @ 2024-08-16 17:04 CandyWang- 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 刷题笔记8.5-8.9 刷题顺序依照labuladong算法小抄 两数之和(8.5) 初始化数组: int[] num = new int<length>; int[] num = {1,2,3,4}; 其中数组名代表指针变量,故不可以直接将数组名a赋值给数组名b 错误的复制:int[] b = a 阅读全文
posted @ 2024-08-12 14:44 CandyWang- 阅读(64) 评论(0) 推荐(0) 编辑