获得徽章 1
#青训营笔记创作活动#
day26 2/5
今天学习Jedis 在实现上是直接连接 Redis-Server,在多个线程间共享一个 Jedis 实例时是线程不安全的,如果想要在多线程场景下使用 Jedis,需要使用连接池,每个线程都使用自己的 Jedis 实例,当连接数量增多时,会消耗较多的物理资源。
展开
评论
#青训营笔记创作活动#
day25 2/4
今天学习一些变更频率比较高的数据,采用集中式缓存,这样可以确保数据变更之后所有节点都可以实时感知到,确保数据一致;

对于一些极少变更的数据(比如一些系统配置项)或者是一些对短期一致性要求不高的数据(比如用户昵称、签名等)则采用本地缓存,大大减少对远端集中式缓存的网络IO次数。
展开
评论
#青训营笔记创作活动#
day24 2/3
今天学习通常情况下,如果用户秒杀成功了,下单之后,在15分钟之内还未完成支付的话,该订单会被自动取消,回退库存。那么,在15分钟内未完成支付,订单被自动取消的功能,要如何实现呢?我们首先想到的可能是job,因为它比较简单。但job有个问题,需要每隔一段时间处理一次,实时性不太好。还有更好的方案?答:使用延迟队列。我们都知道rocketmq,自带了延迟队列的功能。

展开
评论
#青训营笔记创作活动#
day23 2/2

今天学习为什么用公钥加密,却不能用公钥解密?

因为大数取模运算是不可逆的,因此他人无法暴力解密。但是结合欧拉定理,我们可以选取出合适的p(公钥), q(私钥), N(用于取模的大数),让原本不可逆的运算在特定情况下,变得有那么点“可逆”的味道。数学原理决定了我们用公钥加密的数据,只有私钥能解密。反过来,用私钥加密的数据,也只有公钥能解密
展开
评论
#青训营笔记创作活动#
day22 2/1
今天学习Redis(Remote Dictionary Server)是一个开源的、键值对型的数据存储系统。使用C语言编写,遵守BSD协议,可基于内存也可持久化的日志型数据库,提供了多种语言的API,被广泛用于数据库、缓存和消息中间件。并且支持多种类型的数据结构,用于应对各种不同场景。可以存储多种不同类型值之间的映射,支持事务,持久化,LUA 脚本以及多种集群方案等。
展开
评论
day21 1/31
#青训营笔记创作活动#
今天学习这条命令查询一个表中拥有的索引,如下:

CREATE TABLE `zz_user` (
`user_id` int(8) NOT NULL AUTO_INCREMENT,
`user_name` varchar(255) NULL DEFAULT "",
`user_sex` varchar(255) NULL DEFAULT "",
`user_phone` varchar(255) NULL DEFAULT "",
PRIMARY KEY (`user_id`) USING BTREE
)
ENGINE = InnoDB
CHARACTER SET = utf8
COLLATE = utf8_general_ci
ROW_FORMAT = Compact;
展开
评论
#青训营笔记创作活动#
day20 1/30
今天学习整个数据库中,数据表的查询速度直线提升,数据量越大时效果越明显。
②通过创建唯一索引,可以确保数据表中的数据唯一性,无需额外建立唯一约束。
③在使用分组和排序时,同样可以显著减少SQL查询的分组和排序的时间。
④连表查询时,基于主外键字段上建立索引,可以带来十分明显的性能提升。
⑤索引默认是B+Tree有序结构,基于索引字段做范围查询时,效率会明显提高。
⑥从MySQL整体架构而言,减少了查询SQL的执行时间,提高了数据库整体吞吐量。
展开
评论
#青训营笔记创作活动#
day19 1/29
今天学习Bytebase是一款面向开发者的数据库变更管理工具,目前在Github上已有3.6K+Star。

它的主要特性如下:

SQL审核:具有一站式SQL审核面板,可以直观地看到数据库所有变更记录。
SQL建议:能自动检查SQL语句规范,额外提供GitHub Action和API接入方式。
SQL编辑器:可以在线管理及查看数据库表,支持语法的自动提示。
GitOps工作流:支持集成GitHub和GitLab,使用GitOps工作流进行数据库变更。
备份恢复:支持自动备份数据库及恢复数据。
展开
评论
#青训营笔记创作活动#
day18 1/28
今天学习system:这种类型要求数据库表中只有一条数据,是const类型的一个特例,一般情况下是不会出现的。
const:通过一次索引就能找到数据,一般用于主键或唯一索引作为条件,这类扫描效率极高,,速度非常快。
eq_ref:常用于主键或唯一索引扫描,一般指使用主键的关联查询
ref : 常用于非主键和唯一索引扫描。
ref_or_null:这种连接类型类似于ref,区别在于MySQL会额外搜索包含NULL值的行
index_merge:使用了索引合并优化方法,查询使用了两个以上的索引。
unique_subquery:类似于eq_ref,条件用了in子查询
index_subquery:区别于unique_subquery,用于非唯一索引,可以返回重复值。
range:常用于范围查询,比如:between ... and 或 In 等操作
展开
评论
#青训营笔记创作活动#
day17 1/27
今天学习慢SQL优化思路。
慢查询日志记录慢SQL
explain分析SQL的执行计划
profile 分析执行耗时
Optimizer Trace分析详情
确定问题并采用相应的措施
展开
评论
#青训营笔记创作活动#
day16 1/26
今天学习RST 就是用于这种情况,一般用来异常地关闭一个连接。它是TCP包头中的一个标志位,在收到置这个标志位的数据包后,连接就会被关闭,此时接收到 RST的一方,在应用层会看到一个 connection reset 或 connection refused 的报错。
展开
评论
#青训营笔记创作活动#
day15 1/25
今天学习尽量不要使用e.printStackTrace(),而是使用log打印。因为e.printStackTrace()语句可能会导致内存占满。
catch住异常时,建议打印出具体的exception,利于更好定位问题
不要用一个Exception捕捉所有可能的异常
记得使用finally关闭流资源或者直接使用try-with-resource。
捕获异常与抛出异常必须是完全匹配,或者捕获异常是抛异常的父类
展开
评论
#青训营笔记创作活动#
day14 1/24
今天学习路由器是三层设备(对应OSI网络模型在网络层),所以路由器所连接的范围更广,网络和网络之间的连接就是通过路由器;计算机所发出的网络数据,都是先经过集线器和交换机进行区域的汇总,然后才转发给路由器;这样一步步连接到互联网的。
展开
评论
#青训营笔记创作活动#
day13 1/23
今天学习Id:当前线程的ID值,可以利用这个ID,使用kill强杀线程。
User:当前线程维护的数据库连接,与之对应的用户是谁。
Host:与当前线程保持连接关系的客户端地址(IP+Port)。
db:目前线程在哪个数据库中执行SQL。
Command:当前线程正在执行的SQL类型,如:
Create DB:正在执行创建数据库的操作。
Drop DB:正在执行删除数据库的操作。
Execute:正在执行预编译的SQL(PreparedStatement)。
Close Stmt:正在关闭一个PreparedStatement。
Query:正在执行普通的SQL语句。
Sleep:正在等待客户端发送SQL语句。
Quit:当前客户端正在退出连接。
Shutdown:正在关闭MySQL服务端。
展开
评论
#青训营笔记创作活动#
day12 1/22
今天学习HTTPS握手过程
HTTPS的握手过程比较繁琐,我们来回顾下。

先是建立TCP连接,毕竟HTTP是基于TCP的应用层协议。

在TCP成功建立完协议后,就可以开始进入HTTPS阶段。

HTTPS可以用TLS或者SSL啥的进行加密
展开
评论
#青训营笔记创作活动#
day11
1/20
今天学习使用线程池代替手动创建线程
使用线程池还有以下好处:

降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。
提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。
提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统 的稳定性,使用线程池可以进行统一的分配,调优和监控。
所以为了达到更好的利用资源,提高响应速度,就可以使用线程池的方式来代替手动创建线程。
展开
评论
#青训营笔记创作活动#
day10 1/19
今天学习在TCP里,它内部会根据MSS的大小分段,这时候进入到IP层之后,每个包大小都不会超过MTU,因此IP层一般不会再进行分片。这时候发生丢包了,只需要重传每个MSS分段就够了。
评论
#青训营笔记创作活动#
day9 1/18
今天学习Spring Security,那么我们自然不会去看关于发表的“新冠肺炎”的最新文献。随着技术词汇的总结,我们便能够对于相关的技术文档更容易理解,更快速的阅读掌握。因为它首先在行业上就存在一定的专一性,这样就为我们学习圈定了范围。
展开
评论
#青训营笔记创作活动#
day 8 1/17
今天学习Kafka 和传统的消息系统(也称作消息中间件)都具备系统解耦、冗余存储、流量削峰、缓冲、异步通信、扩展性、可恢复性等功能。与此同时,Kafka 还提供了大多数消息系统难以实现的消息顺序性保障及回溯消费的功能。
展开
评论
下一页