
开发类
文章平均质量分 81
乡愁入我心
走入我的世界。 layUI miniUI
展开
-
如何防止脏读、不可重复读、幻读
[转自]http://blog.youkuaiyun.com/gaoshan_820822/article/details/4582561锁就是防止其他事务访问指定的资源的手段。锁是实现并发控制的主要方法,是多个用户能够同时操纵同一个数据库中的数据而不发生数据不一致现象的重要保障。 一般来说,锁可以防止脏读、不可重复读和幻觉读。 事务并发产生的问题: 脏读:一个事务读转载 2017-09-05 16:24:02 · 2316 阅读 · 1 评论 -
开启Mysql慢查询日志
//查看慢查询时间show variables like "long_query_time";默认10s//查看慢查询配置情况show status like "%slow_queries%";//查看慢查询日志路径 show variables like "%slow%";修改配置文件在my.ini中加上下面两句话log-slow-queries = /car转载 2017-11-09 19:34:35 · 288 阅读 · 0 评论 -
mysql语句中的执行顺序
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那转载 2017-10-16 19:45:52 · 588 阅读 · 0 评论 -
mysql查询的方式
Mysql查询性能优化-善用Explain语句 在项目中验证sql语句执行效率的时候最直观的方式就是查看其执行时间,但是在线上环境中如果不慎运行一个效率十分低下的sql导致数据库down掉了,那就悲剧了。并且只看执行时间,并无法有效的定位影响效率的原因。因此通过EXPLAIN命令查看SQL语句的执行计划,根据执行计划可以对SQL进行相应的优化。理解SQL执行计划各个字段的含义这时候显得十转载 2017-10-16 19:49:27 · 624 阅读 · 0 评论 -
Socket通信原理
对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1. 什么是TCP/IP、UDP?2. Socket在哪里呢?3. Socket是什么呢?4. 你会使用它们吗?什么是TCP/IP、UDP? TCP/IP(Transmi转载 2017-11-13 14:43:39 · 263 阅读 · 0 评论 -
php底层运行原理
php看着很简单,但是要深入php的运行机制与原理也不是件容易的事,我们除了会使用之外还要知道它底层的工作原理,这样才能灵活的运用,对php运行机制感兴趣的朋友一起学习吧说到php的运行机制还要先给大家介绍php的模块,PHP总共有三个模块:内核、Zend引擎、以及扩展层;PHP内核用来处理请求、文件流、错误处理等相关操作;Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟转载 2017-11-17 19:34:46 · 832 阅读 · 0 评论 -
PHP SPL(PHP 标准库)
一.什么是SPL? SPL是用于解决典型问题(standard problems)的一组接口与类的集合。(出自:http://php.net/manual/zh/intro.spl.php) SPL,PHP 标准库(Standard PHP Library) ,从 PHP 5.0 起内置的组件和接口,且从 PHP5.3 已逐渐的成熟。SPL转载 2017-11-15 08:01:28 · 378 阅读 · 0 评论 -
Java内部类的实现原理与可能的内存泄漏
在使用java内部类的时候要注意可能引起的内存泄漏 代码如下package com.example;public class MyClass { public static void main(String[] args) throws Throwable { } public class A{ public void methed1()转载 2017-11-23 13:44:42 · 726 阅读 · 0 评论 -
session的存储机制
一、默认机制,用磁盘文件来实现PHP会话。php.ini配置:session.save_handler = files 1、session_start() A、 session_start()是session机制的开始,它有一定概率开启垃圾回收,因为session是存放在文件中, PHP自身的垃圾回收是无效的,SESSION的回收是要删文件的,这个概率是根据php.i原创 2017-11-23 20:30:45 · 1042 阅读 · 0 评论 -
docker容器的使用
本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来。根据自己的理解,总的来说分为以下几种:容器生命周期管理 — docker [run|start|stop|restart|kill|rm|pause|unpause]容器操作运维 — docker [ps|inspect|top|attach|events|转载 2017-12-26 09:07:29 · 443 阅读 · 0 评论 -
IOC的服务容器,laravel性质详解
原文地址: http://www.insp.top/learn-laravel-container ,转载务必保留来源,谢谢了!容器,字面上理解就是装东西的东西。常见的变量、对象属性等都可以算是容器。一个容器能够装什么,全部取决于你对该容器的定义。当然,有这样一种容器,它存放的不是文本、数值,而是对象、对象的描述(类、接口)或者是提供对象的回调,通过这种容器,我们得以实现许多高级的转载 2017-12-19 10:00:30 · 312 阅读 · 0 评论 -
nginx优化配置
一、一般来说nginx 配置文件中对优化比较有作用的为以下几项:1. worker_processes 8;nginx 进程数,建议按照cpu 数目来指定,一般为它的倍数 (如,2个四核的cpu计为8)。2. worker_cpu_affinity 00000001 0000001000000100 00001000 00010000 00100000 01000000转载 2018-01-30 18:14:44 · 409 阅读 · 0 评论 -
MySQL的存储过程
记 MYSQL存储过程中的关键语法: DELIMITER // 声明语句结束符,用于区分; CEATE PROCEDURE demo_in_parameter(IN p_in int) 声明存储过程 BEGIN …. END 存储过程开始和结束符号 SET @p_in=1 变量赋值 DECLARE l_int int unsigned default 4000000转载 2018-01-19 12:16:14 · 269 阅读 · 0 评论 -
mysql的事件调度
1 事件简介 事件(event)是MySQL在相应的时刻调用的过程式数据库对象。一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器”。 事件和触发器类似,都是在某些事情发生的时候启动。当数据库上启动一条语句的时候,触发器就启动了,而事件是根据调度事件来启动的。由于他们彼此相似,所以事件也称为临时性触发器。 事件取代了原先只能由操作系统的计划转载 2018-01-19 12:17:16 · 364 阅读 · 0 评论 -
git 的忽略文件
忽略特殊文件阅读: 298459有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示Untracked files ...,有强迫症的童鞋心里肯定不爽。好在Git考虑到了大家的感受,这个问题解决起来也很简单,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,G...转载 2018-10-12 10:39:01 · 170 阅读 · 0 评论 -
composer.json 文件作用
在工程的根目录下composer.json所定义的包称为root包。下面是对Composer配置文件composer.json中的命令的初步解释。1.require 格式为: "require":{"vendor-name/package-name":"version", ...} 名字部分会作为vendor下的路径进行创建 版本支持精确的版本号,也支持范围如>=1.0...转载 2018-10-12 10:40:41 · 1044 阅读 · 0 评论 -
PHP中被忽略的性能优化利器:生成器
如果是做Python或者其他语言的小伙伴,对于生成器应该不陌生。但很多PHP开发者或许都不知道生成器这个功能,可能是因为生成器是PHP 5.5.0才引入的功能,也可以是生成器作用不是很明显。但是,生成器功能的确非常有用。优点直接讲概念估计你听完还是一头雾水,所以我们先来说说优点,也许能勾起你的兴趣。那么生成器有哪些优点,如下:生成器会对PHP应用的性能有非常大的影响 PHP代码运行时...转载 2018-10-15 14:45:16 · 190 阅读 · 0 评论 -
mysql缓冲和缓存设置详解
MySQL 可调节设置可以应用于整个 mysqld进程,也可以应用于单个客户机会话。服务器端的设置每个表都可以表示为磁盘上的一个文件,必须先打开,后读取。为了加快从文件中读取数据的过程,mysqld对这些打开文件进行了缓存,其最大数目由 /etc/mysqld.conf 中的table_cache 指定。清单 4给出了显示与打开表有关的活动的方式。清单 4. 显示打开表的活动转载 2017-11-09 19:26:26 · 863 阅读 · 0 评论 -
php设计模式
适配器模式(Adapter)模式:将一个类的接口,转换成客户期望的另一个类的接口。适配器让原本接口不兼容的类可以合作无间。 【适配器模式中主要角色】目标(Target)角色:定义客户端使用的与特定领域相关的接口,这也就是我们所期待得到的源(Adaptee)角色:需要进行适配的接口适配器(Adapter)角色:对Adaptee的接口与Target接口转载 2017-11-09 10:53:31 · 509 阅读 · 1 评论 -
apache 与 nginx 的区别
Apache与Nginx的优缺点比较 nginx 相对 apache 的优点:轻量级,同样起web 服务,比apache 占用更少的内存及资源抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能高度模块化的设计,编写模块相对简单社区活跃,各种高性能模块出品迅速啊apache 相对nginx 的优点:转载 2017-09-14 10:10:28 · 223 阅读 · 0 评论 -
radis在linux中使用实例。
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。linux下安装下载地址:h转载 2017-08-31 07:40:43 · 469 阅读 · 0 评论 -
php中的四种基本排序算法
1. 冒泡排序思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。代码实现:$arr=array(1,43,54,62,21,66,32,78,36,76,39); function bubbleSort($arr){转载 2017-08-31 10:35:49 · 256 阅读 · 0 评论 -
php中的简单的两分算法
比如从1,3,9,23,54 中查找数字23,首位置为0, 尾位置为4,中间位置就为2 值为9,比23小,则首位置更新为2+1即3;那么接下来中间位置就为(3+4)/2=3,值为23,比较相等即找到?1234567891011121314151617// 非递归算法://转载 2017-08-31 20:26:08 · 225 阅读 · 0 评论 -
二进制计算
二进制的或运算:遇1得1二进制的与运算:遇0得0二进制的非运算:各位取反。加法法则: 0+0=0,0+1=1,1+0=1,1+1=10减法,当需要向上一位借数时,必须把上一位的1看成下一位的(2)10。减法法则: 0-0 =0,1-0=1,1-1=0,0-1=1 有借位,借1当(10) 看成 2 则 0 - 1 - 1 = 0 有借位 1 - 1 - 1 = 1 有借位。转载 2017-09-01 10:22:20 · 895 阅读 · 0 评论 -
线程与进程
简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。从逻转载 2017-09-01 10:25:37 · 330 阅读 · 0 评论 -
php中的单项链表与双向链表
(一)什么是链表?链表是线性表的一种,所谓的线性表包含顺序线性表和链表,顺序线性表是用数组实现的,在内存中有顺序排列,通过改变数组大小实现。而链表不是用顺序实现的,用指针实现,在内存中不连续。意思就是说,链表就是将一系列不连续的内存联系起来,将那种碎片内存进行合理的利用,解决空间的问题。所以,链表允许插入和删除表上任意位置上的节点,但是不允许随即存取。链表有很多种不同的类型:单向链表、双向转载 2017-09-01 10:35:23 · 5229 阅读 · 0 评论 -
php中的spl(供自己使用)
这几天,我在学习PHP语言中的SPL。这个东西应该属于PHP中的高级内容,看上去很复杂,但是非常有用,所以我做了长篇笔记。不然记不住,以后要用的时候,还是要从头学起。由于这是供自己参考的笔记,不是教程,所以写得比较简单,没有多解释。但是我想,如果你是一个熟练的PHP5程序员,应该足以看懂下面的材料,而且会发现它很有用。现在除此之外,网上根本没有任何深入的SPL中文介绍。========翻译 2017-09-01 10:53:10 · 485 阅读 · 0 评论 -
php中的堆栈
PHP 堆 栈 数据段 代码段 存储的理解代码段、数据段、堆栈段,这是一个概念堆、栈、全局区、常量区,这是另一个概念函数代码存放在代码段。声明的类如果从未使用,则在编译时,会优化掉,其成员函数不占代码段空间。栈:基本数据类型 局部变量(这两种甚至可以直接认为一块空间叫a,里面存着8) 类的引用(指向堆空间段)堆:new出来的对象代码段:函数 运行的代码数原创 2017-09-01 11:53:51 · 2754 阅读 · 0 评论 -
redis与memcache的区别
这里我主要谈谈memcache和redis的区别。①从数据存储位置上来分,memcache的数据存在内存中,而redis既可以存储在内存中,也可以存储的到磁盘中,达到持久化存储的功能,memcache一旦断电,数据全部丢失,redis可以利用快照和AOF把数据存到磁盘中,当恢复时又从磁盘中读取到内存中,当物理内存使用完毕后,可以把数据写入到磁盘中。 ②从存储数据的类型上来分,memcach原创 2017-09-10 21:05:39 · 329 阅读 · 0 评论 -
http和https的区别以及超全局变量
这些超全局变量是:$GLOBALS$_SERVER$_REQUEST$_POST$_GET$_FILES$_ENV$_COOKIE$_SESSIONHTPPS和HTTP的概念HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层转载 2017-09-02 11:23:07 · 372 阅读 · 0 评论 -
mysql的索引与实例
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过 多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。转载 2017-09-21 09:14:35 · 512 阅读 · 0 评论 -
详解MySQL大表优化方案
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化、字段、索引、查询SQL、引擎等。当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问转载 2017-09-21 14:44:07 · 338 阅读 · 0 评论 -
linux主从复制配置
主从复制配置步骤如下:主服务器:从服务器ip地址分别为[python] view plain copy 192.168.145.222、192.168.145.226 1、修改主服务器master:[python] view plain copy vi /etc/my.cn转载 2017-09-21 16:12:29 · 289 阅读 · 0 评论 -
mysql常用函数
一、数学函数ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x) 返回大于x的最小整数值EXP(x) 返回值e(自然对数的底)的x次方FLOOR(x) 返回小于x的最大整数值GREATEST(x1,x2,...,xn)返回集合中最大的值LEAST(x1,x2,...,xn) 返转载 2017-10-18 18:43:39 · 195 阅读 · 0 评论 -
linux对多个用户或多个组进行权限管理
ACL的使用 ACL即Access Control List 主要的目的是提供传统的owner,group,others的read,write,execute权限之外的具体权限设置,ACL可以针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的使用状况有一定帮助。如,某一个文件,不让单一的某个用户访问。 ACL使用两个命令来对其进行控制 ge转载 2017-10-20 19:54:32 · 1631 阅读 · 0 评论 -
mysql的 聚和非聚 索引
一、‘页’和操作系统的关系①为什么要有内存管理?我们知道,一个进程完成他的功能,需要访问磁盘加载数据到内存然后等待进入cpu运算,因为数据量大小远远大于内存大小。因此提出虚拟内存概念。虚拟内存就是将程序用到的数据进行划分,暂时用不到的放到磁盘里,用到的放到内存里,操作系统中总是运行着不止一个进程,各个进程有优先级顺序,所以存在进程调度问题,进程的每次调度都会导致内存和磁盘数据置换,段式内存管理...转载 2019-04-12 15:35:32 · 257 阅读 · 0 评论