自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

冷雨清的博客

一个小白的成长历程

  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 个人大学中的一点经历感悟

​感觉真的时间过的好快啊,三年前我还在高中桌前备战高考,那年过的很苦也很累,但也很开心因为当初的自己无悔,最后结果不算是个意外,就是正常的发挥然后来到了现在的我所就读的学校。三年后,已经成长为一个成熟稳重,懂得如何与人相处的大学生了,并且马上就要去实习成为社畜(ノへ ̄、)。有时候回想一下过去的自己,感觉真的很稚嫩????,啥也不懂啥也不会,凭着的就是满腔的热血和用不完的精力,参加这个参加那个,虽然都失败了,没有什么好结果,这也导致我当初真的很自闭????,我真的要这样继续下去么?我这样子的性格真的是不适合

2021-05-28 14:57:00 330 2

原创 月亮与六便士读后感

月亮与六便士读后感一开始真的没读懂这本书,为什么要一直描写这个人,开篇就说这个人很厉害很厉害,但我内心感觉不到。看这中间的剧情,这人妥妥的渣男!!真的渣!不过读到后面发现这人思想境界好高啊,为了自己心中的理想,抛弃了一切。不过真的读着读着发现自己读书真的太少了,境界完全不够。正如人生有三重境界,看山是山,看水是水;看山不是山,看水不是水;看山还是山,看水还是水;我还是第一层,看不出书背后表达的意思。全书都是在以一个第三人的视角去看待这个斯特里克兰,描述的很散,通过各种事件来得到这个人的信息,中间也发生了

2021-05-16 23:06:40 346 3

原创 Docker 容器时区问题

docker 容器时区问题利用docker发布服务,发现程序用获取的系统时间比正常时间晚了8个小时进入容器docker exec -it 容器id /bin/sh查询时间date -R发现时区为0时区解决思路在容器中创建文件夹mkdir -p /usr/share/zoneinfo/AsiaCtrl+D 退出容器 执行下面命令docker cp /usr/share/zoneinfo/Asia/Shanghai 容器id:/usr/share/zoneinfo/Asia再进

2021-05-14 22:46:36 206

原创 Linux——Docker安装Sentinel

Sentinel是面向分布式服务框架的轻量级流量控制框架,主要以流量为切入点,从流量控制,熔断降级,系统负载保护等多个维度来维护系统的稳定性.拉取镜像:docker pull bladex/sentinel-dashboard运行镜像:docker run --name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard访问dashboard 地址:http://localhost:8858账号密码都为:sentinel...

2021-05-14 15:38:56 335

原创 Springboot配置Nacos出现的问题

Springboot配置Nacos出现的问题报错信息:java.lang.ClassNotFoundException:org.springframework.boot.context.properties.ConfigurationBeanFactoryMetadata由于当前Nacos版本还不支持Springboot 2.4.+ 的版本,所以需要降一个版本 为2.3.+具体如下:org.springframework.beans.factory.BeanCreationException: Er

2021-05-11 22:12:23 3756

原创 windows安装nacos 2.0.1(注意事项)

下载地址:https://github.com/alibaba/nacos/releases下载完文件以后,修改配置文件,添加数据库配置然后双击startup.cmd文件就可以了注意事项启动前要对该文件进行修改!!将set MODE="cluster"一行改成set MODE="standalone",然后直接运行startup.cmd。运行成功后,访问http://localhost:8848/nacos可以查看Nacos的主页,默认账号密码都是nacos。否则会有下面的错误!!ja

2021-05-10 21:50:59 1407

原创 Windows和Linux环境安装RocketMQ

Windows安装RocketMQ下载地址:http://rocketmq.apache.org/release_notes/,选择最新的那一版系统环境变量配置变量名:ROCKETMQ_HOME变量值:MQ解压路径\MQ文件夹名 样例如下:ROCKETMQ_HOME=D:\dev\rocketmq-all-4.3.0-bin-release启动(也可以不启动)启动NAMESERVERCmd命令框执行进入至‘MQ文件夹\bin’下,然后执行‘start mqnamesrv.cmd’,启动

2021-05-09 21:59:23 181

原创 docker的底层原理和常见问题

Docker 采用了 C/S 架构,包括客户端和服务端。Docker 守护进程 ( Daemon )作为服务端接受来自客户端的请求,并处理这些请求(创建、运行、分发容器)。利用了linux的命名空间深入可以参考:Docker 核心技术与实现原理 - 面向信仰编程 (draveness.me)(opens new window)为啥docker比VM等虚拟机更快docker有着比虚拟机更少的抽象层。由于docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的

2021-05-09 10:27:51 108

原创 SpringCloud学习笔记

分布式事务解决方案–seata解决服务治理–用于模块之间发现服务,用一个治理中心解决 nacos分布式服务追踪分布式任务调度 分片定时任务 xxl-job分布式日志 elk分布式配置中心 动态化配置 nacos传统RPC调用会有什么问题1.超时问题,调用无响应,需要设置超时时间2.安全问题,https,加密,令牌传输,限流,服务保护3.服务与服务之间URL地址管理,因为服务与服务之间依赖关系很复杂,接口写死,后期难以管理接口超时时间与连接不上的问题连接不上是因为服务器宕机了超时是请

2021-05-09 10:26:05 366

原创 设计模式:创建型模式

创建型模式关注点是如何创建对象,其核心思想是要把对象的创建和使用相分离,这样使得两者能相对独立地变换。创建型模式包括:工厂方法:Factory Method抽象工厂:Abstract Factory建造者:Builder原型:Prototype单例:Singleton工厂方法 Factory当然还有静态工厂方法抽象工厂 AbstractFactory提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。抽象工厂模式(Abstract Factory)是一个比

2021-05-09 10:23:15 108

原创 设计模式:结构型模式

结构型模式主要涉及如何组合各种对象以便获得更好、更灵活的结构。虽然面向对象的继承机制提供了最基本的子类扩展父类的功能,但结构型模式不仅仅简单地使用继承,而更多地通过组合与运行期的动态组合来实现更灵活的功能。结构型模式有:适配器桥接组合装饰器外观享元代理适配器 Adapter将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式是Adapter,也称Wrapper,是指如果一个接口需要B接口,但是待传入的对象却是A接口,怎

2021-05-09 10:22:36 369

原创 设计模式:行为型模式

行为型模式主要涉及算法和对象间的职责分配。通过使用对象组合,行为型模式可以描述一组对象应该如何协作来完成一个整体任务。行为型模式有:责任链命令解释器迭代器中介备忘录观察者状态策略模板方法访问者责任链 Chain of Responsibility使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。责任链模式(Chain of Responsibility)是一种处理请求的模式,它

2021-05-09 10:21:52 234

原创 Redis部署方式

Redis有下面四种部署方式模式优点缺点单机版架构简单,部署方便机器故障、容量瓶颈、QPS瓶颈主从复制高可靠性,读写分离故障恢复复杂,主库的写跟存受单机限制Sentinel 哨兵集群部署简单,HA原理繁琐,slave存在资源浪费,不能解决读写分离问题Redis Cluster数据动态存储solt,可扩展,高可用客户端动态感知后端变更,批量操作支持查redis主从复制该模式下 具有高可用性且读写分离, 会采用 增量同步 跟 全量同步 两种机制。

2021-05-09 10:14:48 7184

原创 MySQL 索引,优化

1.最左匹配原则介绍如果建立的是复合索引,索引的顺序要按照建立时的顺序,即从左到右,如:a->b->c(和 B+树的数据结构有关)无效索引举例a->c:a 有效,c 无效b->c:b、c 都无效c:c 无效2.覆盖索引在B+树的索引中,叶子节点可能存储了当前的key值,也可能存储了当前的key值以及整行的数据,这就是聚簇索引和非聚簇索引。 在InnoDB中,只有主键索引是聚簇索引,如果没有主键,则挑选一个唯一键建立聚簇索引。如果没有唯一键,则隐式的生成一个键来建

2021-05-09 10:08:28 100

原创 Redis常见问题

常见问题数据一致性怎么保证?先删缓存,再更新数据库先删除缓存,数据库还没有更新成功,此时如果读取缓存,缓存不存在,去数据库中读取到的是旧值,缓存不一致发生。解决方案延时双删的方案的思路是,为了避免更新数据库的时候,其他线程从缓存中读取不到数据,就在更新完数据库之后,再sleep一段时间,然后再次删除缓存。sleep的时间要对业务读写缓存的时间做出评估,sleep时间大于读写缓存的时间即可。流程如下:线程1删除缓存,然后去更新数据库线程2来读缓存,发现缓存已经被删除,所以直接从数据库中读

2021-05-08 10:49:11 111

原创 Redis线程模型

Redis 的线程模型是怎么样的?redis 内部使用文件事件处理器 file event handler,这个文件事件处理器是单线程的,所以 redis 才叫做单线程的模型。它采用 IO 多路复用机制同时监听多个 socket,根据 socket 上的事件来选择对应的事件处理器进行处理。文件事件处理器的结构包含 4 个部分:多个 socketIO 多路复用程序文件事件分派器事件处理器(连接应答处理器、命令请求处理器、命令回复处理器)多个 socket 可能会并发产生不同的操作

2021-05-08 10:47:04 64

原创 Redis高并发问题

缓存穿透redis缓存和数据库中没有相关数据(例用户直接携带id<=0的参数不断发起请求),redis中没有这样的数据,无法进行拦截,直接被穿透到数据库,导致数据库压力过大宕机。解决方案对不存在的数据缓存到redis中,设置key,value值为null(不管是数据未null还是系统bug问题),并设置一个短期过期时间段,避免过期时间过长影响正常用户使用。拉黑该IP地址对参数进行校验,不合法参数进行拦截布隆过滤器 将所有可能存在的数据哈希到一个足够大的bitmap(位图)中,一个一定不存

2021-05-08 10:46:19 142

原创 Redis持久化

RDBRDB 持久化机制,是对 Redis 中的数据执行周期性的持久化。更适合做冷备。优点:压缩后的二进制文,适用于备份、全量复制,用于灾难恢复加载RDB恢复数据远快于AOF方式,适合大规模的数据恢复。如果业务对数据完整性和一致性要求不高,RDB是很好的选择。数据恢复比AOF快。缺点:RDB是周期间隔性的快照文件,数据的完整性和一致性不高,因为RDB可能在最后一次备份时宕机了。备份时占用内存,因为Redis 在备份时会独立fork一个子进程,将数据写入到一个临时文件(此时内存中的数据是原

2021-05-08 10:45:21 64

原创 Redis过期和淘汰

Redis三种过期策略定时过期每个设置过期时间的key都需要创建一个定时器,到过期时间就会立即对key进行清除。该策略可以立即清除过期的数据,对内存很友好;但是会占用大量的CPU资源去处理过期的数据,从而影响缓存的响应时间和吞吐量。惰性过期只有当访问一个key时,才会判断该key是否已过期,过期则清除。该策略可以最大化地节省CPU资源,却对内存非常不友好。极端情况可能出现大量的过期key没有再次被访问,从而不会被清除,占用大量内存。定期过期每隔一定的时间,会扫描一定数量的数据库的expires字

2021-05-08 10:44:09 137

原创 MySQL常见问题

B+树能存多少数据?一个扇区的大小是512字节,而文件系统的最小单元是块,一个块的大小是4k,而对于InnoDB存储引擎也有自己的最小储存单元——页(Page),一个页的大小是16K。假设一行数据的大小是1k,那么一个页可以存放16行这样的数据。假设主键ID为bigint类型,长度为8字节,而指针大小在InnoDB源码中设置为6字节,这样一共14字节,我们一个页中能存放多少这样的单元,其实就代表有多少指针,即16384/14=1170。那么可以算出一棵高度为2的B+树,能存放1170*16=18

2021-05-08 10:42:56 95

原创 MySQL底层知识

主要要从张架构图开始谈起MySQL架构记住!增删查改都不是直接对磁盘或者硬盘操作而是先会对MySQL的buffer pool进行操作,而这个是在存储引擎层面的,而不是中间查询缓存的过程!默认buffer pool是128M页buffer pool是存放在内存当中的,主要是存储‘页’,这个页里面是磁盘里面映射的数据。里面既有双向链表,也有单向链表;一页是16KB里面页的连接主要是双向链表,而页里面的数据就是单向链表,而页里面的数据并未是固定的,有可能是叶子节点,也有可能是非叶子节点。但总之里

2021-05-08 10:42:02 88

原创 MySQL事务两段式提交

其实所谓的两阶段就是把一个事物分成两个阶段来提交。就像下图这样两阶段提交的第一阶段 (prepare阶段):写rodo-log 并将其标记为prepare状态。紧接着写binlog两阶段提交的第二阶段(commit阶段):写bin-log 并将其标记为commit状态。什么需要两段式提交呢?因为MySQL有两个日志文件,我们需要两个日志都写入,我们需要保证两个日志的一致性。那么如果不使用两阶段提交的方式,直接写入redo log然后写入binlog有什么问题呢?假设,写完redo log,系统

2021-05-08 10:39:41 917

原创 如何根据可以产生1-5随机数的函数自己产生1-7的随机数?

Rand5产生1到5的数,减1就产生0到4的数,乘以5后可以产生的数是:0,5,10,15,20。 再加上第二个Rand5()产生的1,2,3,4,5。我们可以得到1到25, 而且每个数都只由一种组合得到,即上述代码可以等概率地生成1到25。OK, 到这基本上也就解决了.套用上面的思想,我们可以得到如下代码:int Rand7(){ int x = ~(1<<31); // max int while(x > 7) x = 5 * (Rand5() -

2021-05-08 10:34:59 642

原创 Git

Git原理本地操作在学习常用命令之前,你首先需要知道的 Git 的「三个分区」和对应的文件的「三种状态」:工作区:就是你本地实际写代码的地方,无论你是用 vim 直接改也好,还是在 IDE 里写,都无所谓。对应的文件状态是:modified,已修改,但还没保存到数据库中。 暂存区:就是临时存放的地方。对应的文件状态是:staged,Git 已经对该文件做了标记,下次提交知道要包含它。本地库:存放本地历史版本信息。对应的文件状态是:committed,文件已经安全的保存在本地数据库中。Gi

2021-05-08 10:33:42 100

原创 CSS:xs,sm,md,lg是什么意思

当你想要内容大小随着屏幕大小自动适应的时候就可以使用bootstrap,也就是在pc端以及不同手机(显示屏大小不同)端内容也能够正常显示的时候。一行最多占十二个标签,不管是大屏还是超小屏的时候。col-lg一般用于大屏设备,(min-width:1200px);col-md一般用于中屏设备,(min-width:992px);col-sm一般用于小屏设备,(min-width:768px);col-xs用于超小型设备,(max-width:768px);后面跟数字是几,也就是占几份(每个

2021-05-05 17:02:34 13526 1

原创 个人制作的主页

详情资源:https://download.csdn.net/download/weixin_44777669/18355765

2021-05-03 19:46:09 91

原创 用个人服务器搭建图床 Pic-Go设置

先去下载图床工具:https://github.com/wisp-x/lsky-pro然后使用宝塔进行配置搭建然后将文件上传至个人服务器中,并进行解压tar -zxvf +压缩包名进入宝塔网站,安装好mysql,php,将自己域名绑定上去,没有就直接写ip地址也是可以的然后将压缩好的文件目录,转移到刚刚创建网站的目录,并进行下面的绑定然后进行如下的设置location / { if (!-e $request_filename) { rewrite ^(.*)$ /i

2021-05-03 15:59:27 1514

Bdata-index.zip

个人主页

2021-05-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除