07 2020 档案
摘要:docker封装redis,mysql,dockerfile封装项目,由于是个人做练习用服务器,基本没大流量情况,在项目运行一段时间后,发现数据访问异常卡顿,发现服务器cpu使用率达到100%,其中kdevtmpfsi进程占用50%以上,然后网上查得这个病毒为挖矿病毒。下面将处理方法介绍如下。 1.
阅读全文
摘要:第一种方法:由于官网使用的是 curl安装方法,实在太慢,不敢恭维 0.ubuntu apt-get下载慢 解决办法 1.更新源 sudo apt-install update 2.安装python-pip sudo apt install python-pip 3.查看版本 sudo pip --
阅读全文
摘要:只要按照本文的步骤一步步的走,就能正确的安装docker并使用,ubuntu需要联网 1. 在Ubuntu中安装Docker 更新ubuntu的apt源索引 sudo apt-get update 安装包允许apt通过HTTPS使用仓库,(将下面的命令完全复制,然后粘贴到命令窗口) sudo apt
阅读全文
摘要:由于安装的Ubuntu LTS是英文版的,软件源就默认都是 us.archive.ubuntu.com(英国) 的,所以很慢 为了提高下载速度,将源改为国内的 cn.archive.ubuntu.com ,现在 cn.archive.ubuntu.com 指向阿里云的开源镜像站 mirrors.al
阅读全文
摘要:1.安装VirtualBox和Vagrant 在win10下先安装VirtualBox然后再安装Vagrant。我这里用的VirtualBox6.0.8,Vagrant_2.2.4_x86_64。 虚拟机:VirtualBox 地址:https://www.virtualbox.org/ 管理工具:
阅读全文
摘要:1.安装VirtualBox和Vagrant 在win10下先安装VirtualBox然后再安装Vagrant。我这里用的VirtualBox6.0.8,Vagrant_2.2.4_x86_64。 虚拟机:VirtualBox 地址:https://www.virtualbox.org/ 管理工具:
阅读全文
摘要:1、-bash: wget: command not found yum -y install wget 2、-bash: ifconfig: command not found sudo yum install net-tools
阅读全文
摘要:报错如下: 方法1: 安装 Vagrant 插件:vagrant plugin install vagrant-vbguest 执行reload命令:vagrant reload --provision这下,就可以将你的虚拟机挂起来了,再检查下文件夹共享是否生效了哦! 方法2: vagrant pl
阅读全文
摘要:环境:win10,64位进入下载:https://www.microsoft.com/zh-CN/download/details.aspx?id=30679注意:64位系统要同时安装x86和x64才可以 2个下载安装:
阅读全文
摘要:什么是索引? 索引(index)翻译为一个目录,用于快速定位我们想要找的数据的位置。例如:我们把一个数据库比作一本书,而索引(index)就是书中的目录,此刻要找到书的某个感兴趣的内容,我们一般是不会整本书翻完再去确认该内容在哪里,而是通过书的目录,定位到该内容章节所在页数,最后直接翻到该页面。 我
阅读全文
摘要:一般来说,事务是必须满足4个条件(ACID)::原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。 原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在
阅读全文
摘要:文档地址:https://github.com/acmesh-official/acme.sh/wiki/Run-acme.sh-in-docker 首先是启动daemon的命令【以下是例子,停止容器会自动删除】 docker run --rm -itd \ -v "$(pwd)/out":/acm
阅读全文
摘要:OCSP 则是一个在线查询接口,浏览器可以实时查询单个证书的合法性。在每个证书的详细信息中,都可以找到对应颁发机构的 CRL 和 OCSP 地址。 OCSP 的问题在于,某些客户端会在 TLS 握手阶段进一步协商时,实时查询 OCSP 接口,并在获得结果前阻塞后续流程,这对性能影响很大。而 OCSP
阅读全文
摘要:RabbitMQ的安装过程,工作流程,和一些基础概念已经在前面的笔记中提到了,今天在本地实现了php连接RabbitMQ,以及消息的生产和消费的过程,首先看下没有生产者和消费者的默认RabbitMQ管理界面截图:Connections: 还没有任何连接(Connections)Channels: 还
阅读全文
摘要:什么是rabbitmq? rabbitmq是基于AMQP协议的消息队列 什么是AMQP 0-9-1? AMQP 0-9-1是高级消息队列协议,是一种消息传递协议,它使符合要求的客户端应用程序能够与符合要求的消息传递中间件代理进行通信 rabbitmq概念 名称含义 Broker 代理消息的服务器,具
阅读全文
摘要:Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语
阅读全文
摘要:运行docker: sudo systemctl start docker 0.创建docker网络: docker network create --subnet=172.18.0.0/24 mxd 1. 复制配置文件到宿主机: # 创建宿主机目录结构 mkdir -p /www/docker/n
阅读全文
摘要:1、按官网的方式去安装访问官网docker.com,Resources–>Docs 进入Docs页面,点Product manuals 在https://docs.docker.com/install/页面,如下图,左边选Docker Compose–>install Compose,右边选择Lin
阅读全文
摘要:SwitchHosts简介SwitchHosts是一个管理、快速切换Hosts小工具,开源软件,一键切换Hosts配置,非常实用,高效。开发Web过程成,部署有多套环境,网址域名都相同,部署在不同的服务器上,有开发环境、测试环境、预发布环境、生产环境。经常要切换Hosts来访问,测试以及验证bug,
阅读全文
摘要:以下是广泛使用的30个SQL查询语句优化方法: 1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 2、对查询进行优化,首先应考虑在 where 及 order by 涉及的列上建立索引,避免全表扫描。 3、应尽量避免在 where 子句中对字段进行 n
阅读全文
摘要:1 开闭原则 1988年,勃兰特·梅耶(Bertrand Meyer)在他的著作《面向对象软件构造(Object Oriented Software Construction)》中提出了开闭原则(Open Close Principle),它的原文是这样:“Software entities sho
阅读全文
摘要:组合模式将对象组合成树形结构,以表示‘部分-整体’的层次结构。 在组合模式,客户端访问独立对象和组合对象(或称对象集合)一样。 独立对象是一个有特定功能的对象,它不引用其他任何其他对象。 组合对象则是一个提供相似功能对象的集合,主要用来管理独立对象,并为客户端提供和独立对象一样的访问方式。 接下来,
阅读全文
摘要:工厂模式,就是负责生成其他对象的类或方法。 1 类实现 比如,我们有一些类,它们都继承自交通工具类: interface Vehicle { public function drive(); } class Car implements Vehicle { public function drive
阅读全文
摘要:观察者模式,也称发布-订阅模式,定义了一个被观察者和多个观察者的、一对多的对象关系。 在被观察者状态发生变化的时候,它的所有观察者都会收到通知,并自动更新。 观察者模式通常用在实时事件处理系统、组件间解耦、数据库驱动的消息队列系统,同时也是MVC设计模式中的重要组成部分。 以下我们以订单创建为例。
阅读全文
摘要:策略模式定义了一族相同类型的算法,算法之间独立封装,并且可以互换代替。 这些算法是同一类型问题的多种处理方式,他们具体行为有差别。 每一个算法、或说每一种处理方式称为一个策略。 在应用中,就可以根据环境的不同,选择不同的策略来处理问题。 以数组输出为例。 数组的输出有序列化输出、JSON字符串输出和
阅读全文
摘要:适配器模式,即根据客户端需要,将某个类的接口转换成特定样式的接口,以解决类之间的兼容问题。 如果我们的代码依赖一些外部的API,或者依赖一些可能会经常更改的类,那么应该考虑用适配器模式。 下面我们以集成支付宝支付功能为例。 1 问题 假设支付宝支付类的功能如下: /** * 支付宝支付类 */ cl
阅读全文
摘要:单例模式,正如其名,允许我们创建一个而且只能创建一个对象的类。 这在整个系统的协同工作中非常有用,特别明确了只需一个类对象的时候。 那么,为什么要实现这么奇怪的类,只实例化一次? 在很多场景下会用到,如:配置类、Session类、Database类、Cache类、File类等等。 这些只需要实例化一
阅读全文
摘要:媒体网站 CSDN极客头条 - CSDN 整合的快速编程新闻 博客园 - 国内技术博客集散地 开源中国 - 中国最大的开源技术社区,旗下的码云很受喜欢 程序师 - 一个关于编程新闻的网站 知乎 程序员话题 - 各种各样的话题 V2EX - 一个活跃的技术类社区 segmentfault - 在这里你
阅读全文
摘要:大部分情况下,尤其是记录数量较少的情况下Mysql总是能正常运转的很好,但不可避免的,随着数据库记录数的增长以及SQL语句越来越复杂,总会有一些实际效果与数据库或SQL设计人员理解相违背的情况,这就需要开发者对Mysql的原理和存在的问题有一个基本的认识。本文主要探讨了Mysql索引的使用和相关知识
阅读全文
摘要:docker默认的源为国外官方源,下载速度较慢,需修改docker镜像源为国内。 Docker国内源说明: Docker 官方中国区 https://registry.docker-cn.com 网易 http://hub-mirror.c.163.com 中国科技大学 https://docker
阅读全文
摘要:一、故事背景 项目组联系我说是有一张 500w 左右的表做 select count(*) 速度特别慢。 二、原 SQL 分析 Server version: 5.7.24-log MySQL Community Server (GPL) SQL 如下,仅仅就是统计 api_runtime_log
阅读全文
摘要:1)count(*)会忽略所有的列,直接统计所有列数,不要使用count(列名),也就是不要使用count(1),count(id) 2)可以使用explain查询近似值,用近似值替代count(*) 3)使用缓存,记录总数 4)允许的话,把innodb改为myisam 5)SELECT (SELE
阅读全文
摘要:Mysql超大分页怎么优化处理 1)数据库层面,这也是我们主要集中关注的(虽然收效没那么大),类似于 select * from table where age > 20 limit 1000000,10 这种查询其实也是有可以优化的余地的. 这条语句需要load1000000数据然后基本上全部丢弃
阅读全文
摘要:范式 数据库规范化,又称正规化、标准化,是数据库设计的一系列原理和技术,以减少数据库中数据冗余,增进数据的一致性。关系模型的发明者埃德加·科德最早提出这一概念,并于1970年代初定义了第一范式、第二范式和第三范式的概念,还与Raymond F. Boyce于1974年共同定义了第三范式的改进范式——
阅读全文
摘要:前言 索引是关系型数据库优化时最常见、成本最低的一种优化方式。 在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 如果一张表是一本书,那么索引就相当于目录。查找指定的内容不
阅读全文
摘要:前言 要想优化SQL语句,首先得知道SQL语句有什么问题,哪里需要被优化。这样就需要一个SQL语句的监控与量度指标,本文讲述的explain和show profile就是这样两个量度SQL语句的命令。 本文主要基于MySQL5.6讲解其用法,因为之后的MySQL版本会去掉show profile功能
阅读全文
摘要:关闭firewall防火墙 firewall-cmd --state ## 查看防火墙状态 not running表示已经关闭 systemctl stop firewalld.service ## 关闭防火墙 systemctl disable firewalld.service ## 禁止开机启
阅读全文
摘要:搭建Mycat环境 1.2 搭建Mycat环境 1.2.1 获取资源#先获取mycat包(其他版本下载地址:http://dl.mycat.org.cn/1.6.7.1/) mkdir -p /data/mycat cd /data/mycat wget http://dl.mycat.org.cn
阅读全文
摘要:前提条件: 同一个服务器创建了3个容器,一个容器是主数据库,一个容器是从数据库,另外一个容器是mycat 原因: mycat容器 的schema.xml连接主从数据库服务器的ip必须是主从容器的ip,不能是127.0.0.1, 因为 在mycat容器的127.0.0.1找不到宿主机创建的容器。还有账
阅读全文
摘要:问题:Error response from daemon: driver failed programming external connectivity on endpoint jenkins (a8ea15bf9b3dbed599d059d638f79f9dd5e875556c39bfb41e
阅读全文
摘要:运行 以下语句 docker run -d -p:8066:8066 --name mysql-mycat --net docker-network --ip 172.18.0.20 -p 9066:9066 -v $PWD/logs:/mycat/logs -v $PWD/conf:/mycat/
阅读全文
摘要:机器重启以后,主从出现了问题,具体报错信息: Slave failed to initialize relay log info structure from the repository 解决方案: mysql> start slave; ERROR 1872 (HY000): Slave fai
阅读全文
摘要:最近学习使用docker安装mysql,停止mysql,退出容器后 docker ps -a 找不到mysql了 看了以前的命令发现之前启动mysql的时候命令是这样的(看创建容器是否有--rm参数) docker run -it --rm --name mysql -e MYSQL_ROOT_PA
阅读全文
摘要:写在前面 当mysql数据量不大且达到读写瓶颈的时候,读的性能消耗远大于写,我们可以将读和写分离开。本实例采用docker容器搭建,通过mycat中间件做分发 准备mysql主从服务 1.准备mysql容器 docker pull mysql:5.7 创建容器网络,用于固定mysql容器ip doc
阅读全文
摘要:关于docker Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。 docker的应用场景 隔离开发环
阅读全文
摘要:前言 在商品秒杀活动中,比如商品库存只有100,但是在抢购活动中可能有200人同时抢购,这样就出现了并发,在100件商品下单完成库存为0了还有可能继续下单成功,就出现了超卖。 为了解决这个问题,今天我主要讲一下用redis队列的方式处理。redis有list类型,list类型其实就是一个双向链表。通
阅读全文
摘要:高并发架构相关概念 并发 并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,并且这几个程序都是在同一个处理机上运行,担任一个时刻点上只有一个程序在处理机上运行。 我们所说的高并发 并发、高并发,通常指并发访问,也就是在某个时间点,有多少个访问同时到来 通常如果一个系统日P
阅读全文
摘要:1)产生TCP粘包和拆包问题的主要原因是,操作系统在发送TCP数据的时候,底层会有一个缓冲区,例如1024个字节大小,如果一次请求发送的数据量比较小,没达到缓冲区大小,TCP则会将多个请求合并为同一个请求进行发送,这就形成了粘包问题;如果一次请求发送的数据量比较大,超过了缓冲区大小,TCP就会将其拆
阅读全文
摘要:redis作为一种高效的缓存框架,使用是非常广泛的,在数据存储上,在运行时其将数据存储在内存中,以实现数据的高效读写,并且根据定制的持久化规则不同,其会不定期的将数据持久化到硬盘中。另外相较于其他的NoSql数据库,redis提供了非常丰富的数据结构,如dict,sds,linkedlist,zip
阅读全文
摘要:详细可以参看《redis官网文档》或者《redis中文网》 Redis集群方式共有三种:主从模式,哨兵模式,cluster(集群)模式 主从模式:是三种集群方式里最简单的。它主要是基于Redis的主从复制特性架构的。通常我们会设置一个主节点,N个从节点;默认情况下,主节点负责处理使用者的IO操作,而
阅读全文
摘要:Redis 简介Redis官网:http://redis.io/ 如果访问慢的话可以访问下面的Redis中文网Redis中文网:http://www.redis.cn/Redis是一个开源的高性能键值对数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,并且借助许多高层级的接口使其可以胜任
阅读全文
摘要:最左匹配原则 最左匹配原则就是指在联合索引中,如果你的 SQL 语句中用到了联合索引中的最左边的索引,那么这条 SQL 语句就可以利用这个联合索引去进行匹配。例如某表现有索引(a,b,c),现在你有如下语句: select * from t where a=1 and b=1 and c =1; #
阅读全文