- 博客(178)
- 资源 (2)
- 收藏
- 关注
原创 init,service和systemctl的区别
使某服务不自动启动 chkconfig --level 3 httpd off systemctl disable httpd.service。使某服务自动启动 chkconfig --level 3 httpd on systemctl enable httpd.service。启动某服务 service httpd start systemctl start httpd.service。停止某服务 service httpd stop systemctl stop httpd.service。
2024-07-05 21:13:25 322
原创 设计模式:适配器模式
统一多个类的接口设计:如果一个功能依赖多个外部系统,且这些外部系统的能力是相似的但接口不统一,可以使用适配器模式,依赖于继承、多态的特性,使调用方可以以聚合方式使用外部系统,提升代码扩展性。替换依赖的外部系统:如果一个功能有多个外部系统可供选择,我们可以定义一个Target接口,将外部系统适配为Target,这样就能利用多态性,实现外部系统的替换。封装有缺陷的接口设计:例如如果引入的外部系统接口设计方面有缺陷,会影响我们自身代码的可测性等,就可以考虑使用适配器模式,将引入的系统向我们自身系统设计上靠拢。
2024-07-03 19:52:55 370
原创 设计模式:桥接模式
我们以发送验证码为例,需求是存在两种发送验证码的方式:短信和邮件,同时需要发送两类验证码:普通验证码和紧急验证码在这种情况下,需要一个发送验证码的抽象接口和实现接口,实现接口负责实现两种发送方式,抽象接口负责实现两类验证码。桥接模式适用于把抽象化与实现化解耦,使得二者可以独立变化。
2024-07-03 19:52:25 84
原创 一个tcp能建立多少http链接
默认情况下建立 TCP 连接不会断开,只有在请求报头中声明 Connection: close 才会在请求完成后关闭连接。如果维持连接,一个 TCP 连接是可以发送多个 HTTP 请求HTTP/1.1 存在一个问题,单个 TCP 连接在同一时刻只能处理一个请求,意思是说:两个请求的生命周期不能重叠,任意两个 HTTP 请求从开始到结束的时间在同一个 TCP 连接里不能重叠HTTP2 提供了 Multiplexing 多路传输特性,可以在一个 TCP 连接中同时完成多个 HTTP 请求浏览器对同一
2024-06-22 23:10:16 119
原创 一个端口可以建多少个tcp链接
Linux内核对TCP连接的识别是通过四元组来区分,即(源ip,源port,目标ip,目标port)。这个四元组只要任意一个不同,就是完全不同的连接!所以说,只要建立的连接是不同的,一个端口是可以建立多个TCP连接的。真正限制一台主机(无论服务客户)的TCP最大连接数的只有内存。
2024-06-22 23:09:21 262
原创 MySQL可以从哪些方面做到性能优化
为搜索字段创建索引。避免使用 Select *,列出需要查询的字段。垂直分割分表,水平分割是分割记录,以一条记录/行为单位。垂直分割则是以列为单位,将列分割出去。选择正确的搜索引擎。实现数据库的主从同步,实现读写分离。添加合适的缓存机制,维护代价高。对冷热数据进行均分,减少单个库的压力,使整体性能达到更优
2024-06-17 21:16:35 108
原创 数据库分库分表
分库分表的目的在于减少数据库单库单表的负担,提高查询性能,缩短查询时间。分库分表分别水平切分和垂直切分。垂直切分:分为垂直分库和垂直分表,其中垂直分库是指根据业务的耦合度,将关联度较低的不同表存储于不同的库中,类似于大系统拆分为小系统;垂直分表是指基于数据库表中的列,将不常用的列进行划分成新表,可以使单个表中的数据量变少减少跨页,使得单个页中字段更多,使内存能够加载更多的数据,提高命中率,减少磁盘IO,提高性能。水平切分:水平切分是根据表内数据内在的逻辑关系,将同一个表按不同的条件分散到多个数据库或
2024-06-17 21:15:48 427
原创 mysql大表ddl注意
2、执行DDL前,先看一下库中是否有未提交的事务,注意查看事务information_schema.innodb_trx表。3、随时关注服务器日志状况,已有问题要先行解决。show processlist也可以发现一些问题。6、研发时,预计表就会比较大的时候,要多评审几次,多留一些预置字段,避免DDL操作。4、特别危险的操作一定先在预生产环境或测试环境先行模拟,评估风险。5、尽量避免 kill 会话进程,可能会在某些情况造成数据问题。1、一定要选业务少的时候执行DDL,一定,不要蜜汁自信。
2024-06-15 23:03:17 174
原创 乐观锁和悲观锁
乐观锁操作方法是在数据后面加一个version字段,当需要更新的时候,先查出version的值,更新的时候where条件判断version是否改变,如果没改变,说明没有冲突。要使用悲观锁,必须关闭mysql数据库的自动提交属性,因为MySQL默认使用autocommit模式,也就是当你执行一个更新操作后,MySQL会立即将结果进行提交。在只读型事务中由于不会产生冲突,也没必要使用锁,这样会增加系统负载,降低并行性。效率上,由于处理加锁的机制会让数据库产生额外开销,增加产生死锁机会。乐观锁和悲观锁的意思。
2024-06-15 23:01:56 321
原创 MySQL为什么需要事务回滚机制
在整个系统发生崩溃、数据库进程直接被杀死后,当用户再次启动数据库进程时,还能够立刻通过查询回滚日志将之前未完成的事务进行回滚,这也就需要回滚日志必须先于数据持久化到磁盘上,是我们需要先写日志后写数据库的主要原因。在MySQL中事务回滚通过日志完成,所有事务进行的修改都会先记录到回滚日志中,然后再对数据库中的对应行进行写入。当事务被提交后就无法回滚了。能够在发生错误或用户执行rollback时提供回滚的相关信息。
2024-06-14 21:05:38 330
golang调用kafka的工具包
2024-04-27
智能提取字幕-mac m1
2024-04-23
智能提取字幕-intel
2024-04-23
智能提取字幕-win10
2024-04-23
XHS链接提取/作品采集工具
2024-04-23
某开源题库系统v9.0.0
2024-04-22
实用的Chrome浏览器插件- Image Downloader
2024-04-21
一个wordpress的HTML5网站模板-外贸主题
2024-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人