- 博客(112)
- 收藏
- 关注
原创 如何处理主从同步延迟问题
再让用户手动的跳转订单页,就是为了防止主从同步延迟导致的可能不一致的问题。* ①下单成功,不立刻返回订单页,而是先展示 一个"无意义"的下单成功,* 数据量大,查询慢 才 分表, 并发大才 分库。读写分离, 一主多从, 如何解决同步延迟问题?* 这属于业务侧 迁就 技术侧 解决方案.* ③硬编码 主库读取。* ②同个事务中操作。
2024-02-02 15:47:00 406
原创 如何处理缓存一致性问题
①先删缓存,再更新数据库. 这里存在的问题就是当请求A进来删除缓存后,还没来得及更新数据库, 请求B此时进来发现没有缓存,就去数据库读取了还未更新的数据更新进缓存,* ②先更新数据库,再删缓存. 这里也存在一个问题场景,就是请求A进来,发现缓存没有,去读取了数据库,还买来得及更新缓存,请求B更新数据库,并删除了缓存,* ①先更新缓存,再更新数据库. 如果先更新缓存成功了,但是更新数据库失败了,那么数据库将出现脏数据,否掉。*此时请求A再将之前读的旧数据更新给缓存,此时缓存里面依旧是旧数据.
2024-02-02 15:45:51 497
原创 如何保证接口幂等
大白话解释,应该是正常情况下,对同个请求只会发一次,但是如果不小心同个请求发了两次甚至多次,不会影响正常业务,比如下订单,点确认订单的时候, 不小心重复点击,导致重复提交订单,但是此时应该只会生成一个订单,如果因为不小心发送多次导致重复下了订单就叫这个接口不幂等。官方解释是,请求一次和请求多次效果相同。* 如果保证接口幂等,
2024-02-01 20:55:34 429
原创 设计模式原则
单一责职原则: 指的是每个类里面的方法都应该是本类负责的,而随着类中方法的增加,又应该根据实际的情况再进一步细分功能,使其尽可能的责职单一,比如我们一开始简单的登陆和登出模块可以放在UserService里面,但是随着登陆方式的增加,引入了第三方登陆方法,扫码登陆方法,那么我们就应该将登陆相关的方法单独抽到LoginService.* 迪米特法则: 最少知道原则,就是一个类对另外一个类的细节知道的尽可能少,也就是另一个类提供的方法尽可能 精简,而不需要当前使用类做其他操作。
2024-02-01 20:45:28 389
原创 单元测试之道
C 交叉检查 使用另一种算法求出结果 对比是否相等,相当于算法中使用暴力解法的答案和优化后的结果的答案做对比来确认优化结果是正确的。* Conformance 一致性 是否是期望的入参,比如处理邮箱,那么期望的是入参将是一个正确格式的邮箱,如果不是,该如何处理。* Range 区间性, 索引下标, 角度不能超过360,可以将原生类型放到类里面,通过类初始化原生变量的值前加限制。* I 反向测试 ,比如求数的平方根,那么将结果相乘后再和原来的数对比,或者插入之后搜索是否和插入的结果一致。
2024-01-24 19:52:04 651
原创 整数反转 beat100%
我们通过每次获取整数的最低位作为新数字的最高位,通过每次模10获取最低位,并且将得到的数加到结果变量乘上10 的结果中作为新结果变量,依次类推,这样子最低位将成为结果变量的最高位, 我们一开始将 正负 标识抽离处理并将原数转为正数。以便进行判定是否越界。
2023-03-09 20:07:44 162
原创 es官网翻译之Exploring Your Cluster
翻译官网Exploring Your Cluster 下的 Cluster Health
2023-01-16 10:46:00 469
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人