自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (10)
  • 收藏
  • 关注

原创 Redis数据持久化

什么是Redis持久化:持久化:将内存中的数据库状态固化到磁盘的过程。Redis默认配置包含16个database,dbid介于0和databases-1之间的数字,默认数据库是DB 0,可以使用select <dbid>在每个连接上选择一个不同的数据库,非空数据库以及它们包含的键值对统称为数据库状态。Redis是内存型数据库,运行时数据均在内存中,如果服务器宕机,那么数据将全部丢失。如何来保证Redis数据的安全性、完整性以及高可用,Redis数据的持久化机制功不可没。.

2021-09-27 10:53:36 275

原创 记一次磁盘写满导致mysql服务挂掉问题的排查过程

问题:测试环境13.113数据库服务器mysql服务不可用1、df -h检查服务器磁盘占用情况,发现磁盘占满,预计是导致mysql服务不可用的原因,通过清理没用的日志文件,重新启动mysql,发现服务可以正常启动。此时发现,空间占用还在以每小时2G的速度增加,显然是因为有某个进程在写入磁盘。下面进行空间优化及问题排查。2、du -h --max-depth=10 /* | awk '{ if($1 ~ /M/){split($1, arr, "M")}; if(($1 ~ /G/) || (

2021-08-04 08:11:56 1049

原创 Mysql行列转化实例

DROP TABLE IF EXISTS tmp_user;CREATE TABLE tmp_user( id INT (11) NOT NULL auto_increment, name VARCHAR(20) COMMENT '姓名', PRIMARY KEY (id))ENGINE = INNODB DEFAULT CHARSET = utf8;DROP TABLE IF EXISTS tmp_subject;CREATE TABLE tmp_subject( id INT (11.

2021-07-27 07:51:43 131

原创 Mysql分类排序sql

今天在生产环境遇到一个要求用sql统计某分类下产品个数排名的问题,记录如下:为屏蔽真实产品数据,用地域分类表及部分数据做记录。一、创建表结构CREATE TABLE `area_dic` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL DEFAULT '' COMMENT '地区名称', `fid` int(10) unsigned NOT NULL DEFAULT '0',

2021-07-26 10:56:50 588

原创 Mysql查询优化

一、count()的优化它可以统计某个列值的数量,也可以统计行数。在统计列值的时候要求列值是非空的。如果希望知道的是结果集的行数,最好使用count(*),这样写意义清晰,性能会更好。如果mysql知道某列col不可能为null,那么mysql会将count(col)表达式优化为count(*)。MyISAM的count()函数快的前提是,没有任何where条件,这样mysql可以从统计表中直接获取count()值。当sql语句中带有where字句,MyISAM的count()和其他引擎没有任何

2021-07-26 09:15:52 105

原创 缓存及其分类

缓存:存储在计算机上的一个原始数据复制集。根据在软件系统中所处的位置不同,缓存可以分为:客户端缓存、网络层缓存和服务端缓存。根据部署方式不同,缓存可以分为:单体缓存、集群缓存、分布式缓存。1、客户端缓存1.1、页面缓存页面缓存是将之前访问过的页面,保存为本地文件,作为离线应用缓存。当用户再次访问时,可以避免网络连接,从而减少服务器及网络负载,提升性能和用户体验。HTML5中使用页面缓存的示例代码如下:localStorage.setItem(“key”,”value”)loc

2021-07-23 09:24:35 1777

原创 LNMP环境搭建(PHP)

1、安装依赖包[root@linux application]# yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel -y[root@linux application]# yum install freetype-devel libpng-devel gd-devel libcurl-devel livxslt-devel libxslt-devel -y[root@linu

2021-07-21 07:30:37 233

原创 LNMP环境搭建(Mysql主从复制)

基于两台虚机(IP地址不同128、129),配置主从复制。两台服务器上面都按照上面mysql部分,安装mysql,启动mysql服务;在128(主)服务器上配置过程编辑/etc/my.cnf文件[mysqld]server-id = 128log-bin=/application/mysql/data/mysql-bin创建用于主从复制的账号CREATE USER 'repl'@'%' IDENTIFIED BY '123456';GRANT REPLICAT...

2021-07-20 09:48:34 108

原创 LNMP环境搭建(Mysql)

1、安装1)创建mysql用户账号[root@linux tools]# groupadd mysql[root@linux tools]# useradd -s /sbin/nologin -g mysql -M mysql2)获取安装包本示例中,是在Windows下载好安装包,通过rz传输到Linux系统中的,包名:mysql-5.5.32-linux2.6-x86_64.tar.gz3)采用二进制方式安装mysql// 解压安装包[root@linux tools]#

2021-07-20 09:46:54 139

原创 LNMP环境搭建(Nginx配置及优化)

1、基于安全的优化1)隐藏版本信息在Nginx配置文件nginx.conf中的http标签内加入“server_tokens off;”。修改前:修改:重启nginx:[root@linux conf]# /application/nginx/sbin/nginx -s reload修改后:2)修改nginx源码,隐藏软件名及版本号,修改文件如下,修改后重新编译安装nginx。[root@linux conf]# vim /home/linux/tool.

2021-07-19 10:24:50 460

原创 LNMP环境搭建(Nginx)

1、安装nginx所需的pcre库[root@linux ~]# yum install pcre pcre-devel -y检查安装结果[root@linux ~]# rpm -qa pcre pcre-develpcre-devel-7.8-7.el6.x86_64pcre-7.8-7.el6.x86_642、检查依赖包[root@linux ~]# rpm -qa pcre-devel pcrepcre-devel-7.8-7.el6.x86_64pcre-7.8-

2021-07-19 10:14:06 228 2

原创 Java常用注解及其使用方法

@RequestMapping和@GetMapping、@PostMapping在类和方法的声明中使用,指定URL请求路径,作为请求的映射地址。参数:value:指定映射地址method:指定请求方式params:限制请求参数,实现过滤请求,不通过返回404错误Headers:限制前端发送过来请求的headers的内容示例:@RequestMapping("/user")public class UserController { @RequestMapping(path.

2021-07-19 10:06:02 874

原创 PHP-设计模式详解(命令模式)

命令模式(Command Pattern)介绍将请求封装成一个对象,从而用不同的请求对客户进行参数化。何时使用:对行为进行各种连续处理,对行为请求和实现进行解耦,将一组行为抽象为对象,实现二者之间的松耦合。优点:降低系统耦合,容易扩展缺点:可能会导致某些系统有过多的具体命令类。代码实现:<?phpclass CommandChain { private $_commands = array(); public function addCommand($cmd) {

2021-07-19 09:46:25 70

原创 PHP-设计模式详解(责任链模式)

责任链模式(Chain of Responsibility Pattern)介绍为请求创建了一个接收者对象的链,并沿这条链传递该请求,直到有对象处理它为止。何时使用:被调用者对调用者的请求分情况动态进行处理的情况下使用。优点:调用端不需要了解被调用端内部处理逻辑缺点:可能会造成循环调用代码实现:<?phpabstract class Handler{ private $next_handler ; private $lever = 0;

2021-07-16 09:02:20 117

原创 PHP-设计模式详解(代理模式)

代理模式(Proxy Pattern)介绍给某一个对象提供一个代理,并由代理对象控制对原对象的引用。何时使用:需要访问的对象不能直接访问,在该对象的外面加一层代理层,来控制对该对象的访问。优点:代理层的加入,协调调用者和被调用者,降低系统的耦合性; 调用端只和代理层进行交互,隐藏被调用段信息,加强安全性。缺点:在原对象层面添加了代理层,可能造成访问速度变慢。<?phpinterface Subject{ function say(); functio

2021-07-16 09:01:02 89

原创 LNMP环境搭建(Web服务基础)

1、DNS解析流程1)浏览器输入网址回车后,系统首先在本地DNS缓存及hosts文件中查找是否存在该域名对应的IP解析记录;2)客户端将解析请求发送给客户端本地设置的DNS服务器地址(LDNS)解析;3)LDNS将请求发送给根DNS服务器进行解析;4)DNS将解析结果返回给LDNS;5)LDNS通过DNS返回的解析记录,请求所在服务器进行访问;6)LDNS将DNS服务器及解析的IP记录发送给客户端浏览器,同时再本地把域名和IP 对应解析记录缓存起来。2、HTTP1)请求方法

2021-07-15 10:14:40 145

原创 PHP-设计模式详解(享元模式)

介绍运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。何时使用:系统中存在大量消耗大量内存的对象,并且这些对象可以按照某种特性简单的进行分组的。优点:减少对象的创建数量,降低内存消耗。缺点:提高了系统的复杂度,需要分离出外部状态和内部状态,而且外部状态具有固有化的性质,不应该随着内部状态的变化而变化,否则会造成系统的混乱。代码实现:<?phpinterface Flyweight{

2021-07-15 10:11:18 72

原创 PHP-设计模式详解(外观模式)

介绍为子系统的一组接口提供一个一致的对外接口,隐藏系统的复杂性。何时使用:定义系统的入口优点:减少系统依赖; 提高灵活性和安全性。缺点:不符合开闭原则,修改比较麻烦。代码实现:<?phpclass Run{ function sportRun(){ echo 'run<br>'; }}class Walk{ function sportWalk(){

2021-07-15 10:10:05 64

原创 Mysql中sql_mode使用详解

一、Sql_mode是什么?Sql_mode是一组mysql的语法校验规则,定义了mysql应该支持的sql语法、数据校验等。二、如何查看当前sql_mode配置?方法一:select @@sql_mode;方法二:select @@SESSION.sql_mode;方法三:select @@GLOBAL.sql_mode;三、如何设置sql_mode?1、通过命令设置SET sql_mode = '';SET SESSION sql_mode = '';SE

2021-07-13 10:18:38 21347 1

原创 LNMP环境搭建(Linux)

一、VMware创建虚拟机二、安装Linux系统三、配置网卡执行如下命令:ifup eth0,启动网卡; ifconfig eth0,查看获取的.

2021-07-13 08:50:00 251

原创 PHP-设计模式详解(装饰器模式)

装饰器模式(Decorator)介绍结构型模式,为现有对象添加新的功能(装饰),比子类方式更加灵活。何时使用:在不想增加很多子类的情况下扩展类。主类中新增加的内容只是在某些特殊的情况下才会执行,优点:改变原有代码的情况下对原有代码中的内容进行扩展,开放封闭原则; 每个装饰器完成自己的功能,单一职责。缺点:多层装饰比较复杂。代码实现:<?phpinterface MessageTemplate{ function message();}cla

2021-07-13 07:59:26 204

原创 PHP-设计模式详解(组合模式)

组合模式(Composite)介绍结构型模式,把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。何时使用:提现整体和部分层次结构,忽略组合对象和单个对象的不同,可以统一使用组合结构中的所有对象。优点:模块调用简单; 节点自由度增加。缺点:在使用组合模式时,其叶子和树枝的声明都是实现类,而不是接口,违反了依赖倒置原则。代码实现:<?phpabstract class CompanyBase{ protec

2021-07-13 07:58:07 143

原创 mysql前缀索引和索引选择性

索引选择性:不重复的索引值和记录总数的比值索引选择性越高,查询效率越高,因为可以过滤掉更多的行如何确定前缀索引的长度?方法一:步骤一、查询来自同一城市的学生最多的10个城市的学生select count(1) as num ,cityname from student group by cityname order by num desc limit 10;步骤二、按照城市前几个字符,分别算来自这些城市最多的10个城市学生select count(1) as num ,left(ci

2021-07-09 10:17:35 157

原创 PHP-设计模式详解(桥接模式)

桥接模式(Bridge)介绍结构型模式,用来解耦抽象化与实现化,使二者可以独立变化。何时使用:多角度分类,每个角度都可能变化。优点:抽象和实现分离; 扩展能力强;缺点:需要对系统进行抽象,设计难度较高。注:桥接模式和适配器模式非常相似,但是,适配器模式是让两个不相关的类进行组合,让其协同工作,实现中间的转换。而桥接模式是让抽象层和具体实现层解耦,方便单独进行改变。代码实现<?phpinterface MessageTemplate{ func

2021-07-09 09:40:02 170

原创 PHP-设计模式详解(适配器模式)

适配器模式(Adapter)介绍结构型模式,提取多个不兼容类的相近方法构建接口,建立适配类实现接口。增减实现类的时候,不用修改调用端与适配器的交互代码,减少了代码间的耦合性。何时使用:现有类和新增的类相关性不大,需要用到部分相关代码的时候。优点:让多个没有关联的类一起运行; 提高类的复用; 增加类的透明度; 灵活定较好。缺点:过度的使用适配器,会让系统非常零乱。代码实现<?phpinterface Animal{ function getName();

2021-07-09 09:38:14 81

原创 分布式系统中的CAP理论

分布式系统中的CAP理论,是分布式系统的理论基础。描述:一个分布式系统中,最多只能满足C(一致性)、A(可用性)、P(分区容错性、分区性)三者中的两个。C、Consistency (一致性)所有节点或者副本的数据一致。(All the nodes see the same data at the same time.)从客户端来看,一致性是指,多次并发访问获取到的数据,准确并符合预期结果。从服务端来看,一致性是指,多次并发提交的请求,能够及时准确的同步到所有节点或者副本,需要考虑网络通信

2021-07-08 13:28:08 217

原创 mysql in变量值的处理方案

Mysql数据库中,在一个范围存查询数据时候,有时候我们会用到in例如:SELECT contract_code FROM ContractInfo WHERE contract_code IN ('ht123456','ht654321');很显然,这个查询没有任何问题,可以正确执行。那么,如果将'ht123456','ht654321'作为变量传递给mysql,mysql是否还能执行呢?SET @nu = "'ht123456','ht654321'";select cont

2021-07-08 11:31:08 1967

原创 PHP-设计模式详解(原型模式)

原型模式(Prototype)介绍创建型模式,原型模式有人形象的称其为克隆模式,通过拷贝已存在的对象来创建新的对象。何时使用:当new的对象很大,每次new耗费资源颇多的时候,可以采用原型模式进行创建。优点:A、提高性能;B、逃避构造函数的约束;缺点:对于已有的类进行克隆,需要考虑的代码实现:<?phpclass ChinaMobile{ public $system;}class Phone{ public $service_sy

2021-07-08 11:13:13 77

原创 PHP-设计模式详解(建造者模式)

建造者模式(Builder)介绍创建型模式,使用多个简单的对象一步一步构建成一个复杂的对象。何时使用:一些基本部件不会变,而其组合经常变化的时候。建造者模式一般认为有四个角色:A、产品角色,产品角色定义自身的组成属性B、抽象建造者,抽象建造者定义了产品的创建过程以及如何返回一个产品C、具体建造者,具体建造者实现了抽象建造者创建产品过程的方法,给产品的具体属性进行赋值定义D、指挥者,指挥者负责与调用客户端交互,决定创建什么样的产品优点:A、建造者独立,易扩展。B、便

2021-07-08 11:11:22 319

原创 PHP-设计模式详解(单例模式)

单例模式(Singleton)介绍创建型模式,保证一个类仅有一个实例,并提供一个它的全局访问点。何时使用:控制实例数量,节省系统资源的时候使用。优点:在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例。缺点:没有接口,不能继承,与单一职责原则冲突。代码实现:<?phpclass Singleton{ private static $obj = null; private function __construct(){ } pub

2021-07-08 11:04:56 101

原创 PHP-设计模式详解(抽象工厂模式)

抽象工厂模式(Abstract Factory)介绍创建型模式,提供一个创建一系列相关或者相互依赖对象的接口,无需指定具体的类,将对象的创建抽象成一个接口。何时使用:系统中存在多个产品族,系统只消费其中的每一个产品族。优点:当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象。缺点:产品族扩展非常困难,要增加一个系列的某一产品。代码实现<?phpinterface people { function jiehun();}class

2021-07-08 10:56:20 65

原创 PHP-设计模式详解(工厂模式)

工厂模式(Factory)介绍:创建型模式,定义一个工厂类,在实例化类的时候,由调用类决定实例化哪个类,使其创建过程延迟到调用类进行。何时使用:不同条件下创建不同的实例。优点:调用者只需要知道对象的名称就可以创建对象; 扩展性高,新增一个产品,只要扩展一个工厂类即可; 屏蔽具体实现,调用者只关心接口。缺点:新增产品需要增加一个实现类和修改工厂类,增加系统的复杂度。代码实现:<?phpinterface Animal{function call();}

2021-07-08 10:50:04 98

原创 PHP-设计模式的六大原则

1、单一职责原则(Single Responsibility Principle,简称SRP ) 有且只有一个原因可引起类的变更。完成单一职责,用职责来衡量类设计是否优良。2、里氏替换原则(Liskov Substitution Principle,简称LSP) 子类可完美替换基类,只要父类可以出现的地方,子类就可以出现,反之父类未必可以替换子类。增强程序的健壮性,即使增加了子类,原有子类还可以继续运行。子类对父类的方法尽量不要重写和重载。因为父类代表了定义好的结构,通过这个规范的接...

2021-07-08 10:46:25 243

原创 PHP-设计模式类型

1、创建型模式:该类型模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。工厂模式(Factory Pattern)抽象工厂模式(Abstract Factory Pattern)单例模式(Singleton Pattern)建造者模式(Builder Pattern)原型模式(Prototype Pattern)2、结构型模式:该类型模式关注类和对象的组合。继承的概念被用来组合接口和

2021-07-08 10:43:48 88

mongoDB入门与提高

mongoDB入门级文档,试用于对数据库知识有一定了解,但是没有接触过非关系型数据库的人员,如果你是mongoDB大拿,建议不要讲时间、精力以及资源分浪费在我的这个文档上面!

2015-08-11

Asp.net C# IP地址整形相互转化源代码

该资源是winform+c#桌面程序,完成ip地址和整形之间相互转化的功能。

2011-08-30

基于xml的无刷新省市下拉列表用户控件

该资源是asp.net+c#页面程序,基于XML的无刷新省市下拉列表控件,源代码中有详细的示例代码和说明。

2011-03-20

Asp.net C# 修改IP配置等项的源代码

该资源是winform+c#桌面程序,完成修改ip地址、子网掩码、网关以及DNS的功能。

2010-07-02

XML、二进制序列化实例

该资源是asp.net+c#页面程序,将实体类序列化成为xml和二进制文件,并提供反序列化代码。

2010-01-05

Asp.net CheckBoxList操作集合

CheckBoxList操作方法集合,包括:获取选中项、全选、取消、反选

2009-10-10

Asp.net C# 利用模板生成静态页面实例

该资源是asp.net+c#页面程序,利用模板文件生成静态页面,并且返回该静态页面的路径。

2009-08-26

Asp.net C# 数字货币金额转换为中英文金额写法

该资源是asp.net+c#页面程序,采用四种方法将数字形式的金额转换为中英文金额写法。

2009-08-25

Asp.net C# 创建记事本,并给记事本输入文字

该资源是asp.net+c#页面程序,C#代码调用windows API创建记事本,并给记事本输入文字。

2009-08-20

Asp.net C# 复制一个文件夹下指定类型的所有文件

该资源是asp.net+c#页面程序,可以深度遍历指定目录下面的所有文件,并将指定类型的文件复制到指定文件夹。

2009-08-17

空空如也

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

TA关注的人

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