- 博客(30)
- 收藏
- 关注
原创 Mysql的Sql优化方案
分页查询的本质是使用limit关键字,但是一般查询的都是所有数据,即 select * 这样的形式,但是这样大多会导致回表查询,查询效率太低。优化方案一般是覆盖索引加子查询来实现 :例如:select * from stu t ,(select id from stu order by id limit 200000 ,10)a where t.id=a.id;核心思想就是利用覆盖索引来替换回表查询,主表再进行嵌套子查询得到所有数据。
2023-08-30 09:57:37
113
原创 一篇搞懂Redis的主从复制,哨兵模式,分片化集群原理
单节点的Redis,它的并发能力不强,只能一个redis服务来实现读写操作,为了提高单节点Redis的并发能力,我们就想办法实现去它的读和写分离,提高并发能力。对于redis来说,高并发、高性能可以保证,高可用需要架构的设计,单机redis由于存在系统崩溃、硬盘故障的风险,还有内存的限制,所以企业一般都会搭建主从,对系统有更高要求会搭建集群。主从复制,。前者称为主节点(Master),后者称为从节点(Slave);。默认情况下,每台Redis服务器都是主节点;
2023-08-02 09:31:08
165
原创 Redis中的持久化详解
持久化是将程序数据在持久状态和瞬时状态间转换的机制。持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。JDBC就是一种持久化机制。文件IO也是一种持久化机制。
2023-08-01 20:38:32
222
原创 Redis的五种基本数据类型
List列表一个键有多个对应的值,是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。底层的实现是一个双向链表,但是中间的节点性能会较差。有序只有还有值存在,key就会一直存在,直到value值全部消失。插入删除很快,查询效率低(只能通过逐个节点遍历的方式查询)。元素可以重复Set对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动排重。
2023-08-01 08:41:31
202
原创 Linux进程相关命令
命令:kill作用:杀死进程说明:kill命令本质上是给进程发送信号。语法: kill [-9] 进程ID选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。命令:top作用:实时查看系统运行情况和健康状态。可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器 默认每5秒刷新一次,语法:直接输入top即可,按q或ctrl + c退出。命令:netstat对应单词:net status作用:查看网络状态。
2023-07-30 09:42:58
365
原创 Linux的用户与权限
root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。普通用户的权限,一般在其HOME目录内是不受限的一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限
2023-07-28 20:39:51
215
原创 通过vi/vim编辑器实现文本的基本编辑工作
vim 是 vi 的加强版本,兼容 vi 的所有指令,不仅能编辑文本,而且还具有 shell 程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。
2023-07-28 17:48:02
373
原创 Linux文件和目录相关命令(一)
表示HOME目录,比如:cd ~ 即可切换到HOME目录或cd ~/Desktop,切换到HOME内的Desktop目录。.. 表示上一级目录,比如:cd .. 即可切换到上一级目录,cd ../.. 切换到上二级的目录。写法: ls -l -a ls -la ls -al 上述三种写法,都是一样的,表示同时应用-l和-a的功能。作用:列出目录中的内容,这里所说的目录可以是当前目录也可以是其他目录(需要指定路径)。语法中的选项是可以组合使用的,比如学习的-a和-l可以组合应用。
2023-07-28 11:45:17
112
1
原创 Linux命令基础
options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节。parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等。语法中的[],表示可选的意思。command: 命令本身。
2023-07-28 10:35:31
78
1
原创 Linux基础知识
在Linux系统中任何东西都是以文件形式来存储的。这其中不仅包括我们熟知的文本文件、可执行文件等等,还包括硬件设备、虚拟设备、网络连接等等,甚至连目录其实都是一种特殊的文件。
2023-07-28 09:58:10
81
1
原创 SpringBoot三个底层注解@Import. @Conditional. @ImportResource
ImportResource将外部的xml配置文件引入到程序中。
2023-05-25 18:21:39
115
原创 SpringBoot核心注解入门
使用@configuration注解编写自定义配置类主要注解@configuration,使用@configuration注解可以指定配置类,它的作用和xml配置是一样的。配置类中@bean标注的方法返回的对象都将作为@bean注入Spring容器
2023-05-25 17:41:28
71
原创 策略模式(Strategy Pattern)
策略模式指的是对象具备某个行为,但是在不同的场景中,该行为有不同的实现算法。定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。主要目的就是解耦合,分离算法,选择实现。
2023-05-12 15:31:39
131
原创 设计模式之状态模式
允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。
2023-05-12 11:08:57
79
原创 观察者模式
建立一种对象与对象之间的关联关系,一个对象发生改变时将自动通知其他对象,其他对象做出相应反应。发生改变的对象称为观察目标,而被通知的对象成为观察者,一个观察目标可以对应多个观察者。
2023-05-11 18:58:09
286
原创 迭代器模式
它提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。迭代器模式可以为不同容器提供一致的遍历行为,而不用关心容器内容元素组成结构,迭代器模式是一种对象行为型模式 ;
2023-05-11 10:25:39
74
原创 设计模式之命令模式
命令(Command)模式又叫作动作(Action)模式或事务(Transaction)模式,是一种对象的行为模式。将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。
2023-05-06 18:22:08
85
原创 浅谈代理模式
代理模式给某一个对象提供一个代理对象,代理对象具备真实对象的功能,并代替真实对象完成相应操作,并能够在操作执行的前后,对操作进行增强处理,是一种对象结构型模式。
2023-05-06 11:56:11
101
原创 设计模式之外观模式
• SubSystem:子系统角色,实现系统的部分功能,客户可以通过外观角色访问它。• Facade: 外观角色,为多个子系统对外提供一个共同的接口。典型的外观角色代码:‘
2023-05-05 20:35:37
87
原创 设计模式之装饰模式
1.Componcnt(抽象构件),它是具体构件和抽象装饰类的共同父类,声明了在具体构件中实际的业务方法,它的引入可以使客户以一致的方式处理未被装饰的对象以及装饰之后的对象,实现客户端的透明操作。2. ConcreteComponent(具体构件),它是抽象构件类的子类,用于定义具体的构件对象,实现了在抽象构件中声明的方法,装饰类可以给它增加额外的职责(方法)。,每一个具体装饰类都定义了一些新的行为,它可以调用在抽象装饰类中定义的方法,并且可以增加新的方法,以实现扩展对象的行为。
2023-05-05 19:08:04
92
原创 设计模式之组合模式
组合模式也称为整体部分模式 ,它通过将单个对象(叶子节点)和组合对象(树枝节点)用相同的接口进行表示,从而形成树形结构 ,使得客户对单个对象和组合对象的使用具有一致性 ,属于结构型模式,用来描述整体与部分的关系。
2023-05-05 11:45:23
84
原创 设计模式之单例模式
单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例
2023-05-04 17:23:45
70
原创 设计模式之建造者模式
定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。即可以创建同一类型(指各个组成部件相同)的不同产品。
2023-05-04 11:31:19
123
1
原创 设计模式之抽象工厂模式
当我们需要增加很多新的产品时,使用简单工厂模式必须提供相应的具体工厂类,这就导致我们的代码成倍增加。当我们需要在一个工厂中需要提供多个产品对象时,工厂方法模式无法实现这一要求。与工厂方法模式相比,它将一个简单的抽象工厂父类变为具体类型(如海信电视机抽象工厂,海尔电视机抽象工厂)的抽象工厂,而其子类去继承或者实现父类完成相应的生产功能。定义提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,它是一种对象创建型模式。产品等级结构。
2023-03-17 09:50:02
141
原创 创建型模式之工厂方法模式
工厂方法模式又称为工厂模式,也叫虚拟构造器模式或者多态工厂模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪一个具体产品类。即我们可以通过指定具体的抽象工厂类的实现子类,来生产我们想要的具体对象。结构1) 抽象工厂(Factory)角色:是工厂方法模式的核心,与应用程序无关。任何在模式中创建的对象的工厂类必须实现这个接口。
2023-03-16 21:29:13
114
原创 设计模式之设计模式的概述
设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用这些设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。简单来说就是一套前人的经验。帮助我们更好的编写代码。分类根据其目的(模式是用来做什么的)可以分为三类:创建型,结构型,行为型。创建型模式主要用于创建对象,GoF主要提供了5种创建型模式,工厂方法模式,抽象工厂模式,建造者模式,原型模式,和单例模式。结构型模式。
2023-03-16 20:02:23
250
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人