- 博客(10)
- 收藏
- 关注
原创 数组-二分查找算法
找到数组中间位置的值与目标值对比、根据结果选择移动的边界(左/右)进而缩小范围要求目标数组有序1、设置左右边界值、数组中间位置的值(中间值需要放到循环重复定义)2、创建循环3、循环对比中间位置值与目标值、移动边界、重新设置中间值、对比1、right的取值:取数组长度-1、还是数组长度2、while循环条件是否取=3、左右边界移动后的取值确定区间:边界取值选择左闭右闭、左闭右开根据右边的开闭确定取值、如果闭、右边取得到、取得到right=取数组长度-1,while循环条件取=
2024-02-17 23:16:42
382
1
原创 从0开始的redis点评项目(完结)
GEO数据结构实现附近商户功能GEO就是Geolocation的简写形式,代表地理坐标。Redis在3.2版本中加入了对GEO的支持,允许存储地理坐标信息,帮助我们根据经纬度来检索数据。
2024-02-16 15:40:57
418
1
原创 从0开始的redis点评项目(6)达人探店
用户发送信息、会存到自己的发件箱粉丝要读取信息会从自己的收件箱读取、此时系统会吧粉丝关注的用户的发布信息拉取到收件箱缺点:比较延迟,当用户读取数据时才去关注的人里边去读取数据,假设用户关注了大量的用户,那么此时就会拉取海量的内容,对服务器压力巨大。
2024-02-15 22:46:50
1945
1
原创 从0开始的redis点评项目(5)秒杀优化、消息队列
每次操作服务器都需要串行操作上述步骤、这都是一个线程串行执行、且涉及到许多操作数据库的操作、效率低因此选择异步操作的思路。
2024-02-13 21:04:26
970
1
原创 从0开始的redis点评项目(4)分布式锁
分布式锁:满足分布式系统或集群模式下多进程可见并且互斥的锁。即实现一个能被多个进程看到的锁,既然锁能被看到、也就解决了多进程锁监视器之间的信息壁垒实现分布式锁的三种方式:MySQL、Redis、Zookeeper。
2024-02-11 20:33:01
981
1
原创 从0开始的redis点评项目(3)优惠券秒杀
超买问题实际上是线程安全问题:当某样数据的库存不够时依旧能显示购买成功业务逻辑对于特定优惠卷、每个用户只能购买一次 (优惠力度较大......)
2024-02-10 17:11:12
922
1
原创 从0开始的redis点评项目 (2)Redis缓存
缓存更新策略:为了保存redis缓存与数据库数据的一致性2、三大策略1、内存淘汰不需要自己维护、利用redis的内存淘汰机制当内存不足的时候自动淘汰掉部分数据(随机),因为淘汰掉了部分数据、下次查询这些数据时会向缓存中插入更新后的数据2、超时剔除人为给缓存的数据添加TTL有效时间、时间到期后自动删除该缓存数据、下次查询时更新缓存3、主动更新编写业务逻辑、在修改数据库时、更新缓存三个问题选择删除缓存更新缓存:更新一次数据库就需要更新一次缓存、而更新的这次缓存不一定有被访问到、造成无效的写操作过多。
2024-02-08 23:52:01
1871
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人