获得徽章 1
- #青训营笔记创作活动#
1月18日 打卡day6
数据库缓存用来提升系统性能。
读多写少的数据放入缓存,存在缓存与数据库双写不一致,缓存雪崩、缓存穿透、并发竞争的问题。
只要使用缓存就会出现缓存和数据库数据不一致的问题。
强一致性,系统吞吐量会大大降低。
弱一致性也叫最终一致性,只要求最后的数据是一致的。
展开评论1 - #青训营笔记创作活动#
1月20日 打卡day8
多线程能带来一系列优势,但也会带来线程的安全问题。
数据库的锁机制是为了解决并发事务带来的问题。
MySQL的表锁是将锁加在表上。评论1 - #青训营笔记创作活动#
1月19日 打卡day7
缓存是高并发系统的基石之一。
缓存存在的初衷是为了兼容两个处理速度不一致的场景对接适配。
缓存可以降低CPU消耗,这是一种空间换时间的策略。
可以降低对外的IO交互。
缓存是一把双刃剑,要设计缓存可以删除重建,有兜底屏障,还有一致性的保证。
展开评论1 - #青训营笔记创作活动#
1月15日 打卡day3
数据库分库分表是因为单库、表过大导致数据库性能下 降。 单机数据库的存储能力、连接能力有限。
单表行数过大,或容量过大推荐分表。
垂直分库,核心理念是专库专用。
垂直分表,把业务列表比较独立或不常用的字段拆分开。 水平分库,把同一个表拆分到不同数据库中,实现水平扩展。
水平分表,把一张大数据量的表按一定规则,切分成多个结构相同的表。展开评论1 - #青训营笔记创作活动#
1月14日 打卡day2
Kafka入门学习
Kafka有消息系统,存储系统和流式处理平台。
术语:Producer,生产者,发送消息的一方;Consumer,消费者,接收消息的一方;Broker,服务代理节点,单个Kafka服务实例。
重要概念:Topic,主题,消息以主题分类,生产者的消息发送到指定主题,消费者订阅主题消费。
消息可靠性,设置副本数为3可满足大部分场景,可靠性要求更高可设置为5。生产者客户端参数acks设置为-1。回溯消费。展开评论1 - #青训营笔记创作活动#
1月13日 打卡day1
学编程应该首先学会代码规范,代码是给人阅读的语言,良好的代码可以让你和你的工作伙伴在日后花费较短的时间即可理解。
首先命名不要用abcd这样的简单字母,应该使用有意义的单词,做到见名知意。
代码格式化,对齐大括号,以及控制每行的长度。
良好的注释。
try-catch内部抽象成一个方法。
控制单个方法的代码长度。
重复代码抽象出来。
多使用return代替嵌套。
还有许多方面需要开发者注意,日后也要经常检查以前的代码,持续优化代码,防止“屎山”的出现。展开评论1