- 博客(67)
- 资源 (7)
- 收藏
- 关注
原创 MySQL事务隔离级别与锁
脏读:数据1;A事务修改2未提交,B事务查看2,A事务ROLLBACK,B事务看到不正确数据。不可重复读:A事务查看,B事务修改提交,A事务再次查看,数据不一样。reaptable red可重读:A事务查看,B事务不能提交修改。幻读:A事务修改全部行,B事务插入新行,A事务查看新行没被修改serializable:事务B只能等到A提交才能插入新数据。四种隔离级别:1
2017-08-23 16:42:01
2791
原创 数据缓存
NoSQL数据库的四大分类 1、键值对存储 优:快速查询 劣:存储数据缺少内容 redis 2、列存储 优:查找速度快,扩展性强 劣:功能相对局限 hbase 3、文档数据库 优:数据结构要求不严格 劣:查询性能不高 ,缺少统一的查询语法 mongodb 4、图形数据库 优:利用图结构的相关算法 劣:需要对整个图做计算才能得出结果,不容易做分布式的集群方案redis 的
2017-08-23 16:02:53
245
原创 ACL权限管理
1、apt install acl2、 setfacl -m u:suicy:rw 1.php 设置用户权限 setfacl -m u:用户名:权限 文件设置组权限 setfacl -m g:用户组:权限 文件3、 setfacl -x u:suicy 1.php删除用户权限 setfacl -m u:用户名 文件删除组权限 setfacl -m g:用户名 文件4、查
2017-08-17 11:39:12
724
原创 websockt聊天
服务端use workerman\Worker;require dirname(__DIR__).'\Autoloader.php';// 心跳间隔25秒// define('HEARTBEAT_TIME', 25);// 创建一个Worker监听9001端口,不使用任何应用层协议$ws = new Worker("websocket://172.18.10.1
2017-08-17 11:12:46
458
原创 shell编程
1、变量变量名:字母数字下划线,不能数字卡头,长度不能超过255字符,有含义类型:默认所有内容都是字符型变量:1、用户自定义类型2、环境变量,主要保存的是和系统操作环境相关的数据3、位置参数变量,主要用来向脚本当中传递参数和数据,变量名不能自定义,变量作用是固定的。4、预定义变量环境变量是全局变量,用户自定义变量是局部变量;用户自定义变量只在当前的 shell
2017-08-17 11:08:26
233
原创 rpm软件安装
1、源码包2、二进制软件包rpmhttpd-2.2.15-15.el6.centsos.1.i686.rpmhttpd软件包名-2.2.15软件版本-15发布的次数-el6.centos适合的Linux平台-i686适应的硬件平台-rpm包扩展名,el6是redhat的企业版包依赖:树形依赖、环形依赖、模块依赖 www.rpmfind.comrpm安装升级卸
2017-08-17 11:05:28
405
原创 真正的inotify+rsync实时双向同步
参考:http://moqiang02.iteye.com/blog/2107473IP:120.77.244.96IP:47.92.27.140客户端A安装rsync+inotify-tools主服务器1)安装rsync1、apt-get install[remove] rsync2、touch /etc/rsync/rsyncd.confuid = root
2017-08-17 10:34:12
1983
原创 Nginx负载均衡
1、HTTP重定向 当HTTP 代理(比如浏览器)向Web服务器请求某个URL后,Web 服务器可以通过HTTP 响应头信息中的Location 标记来返回一个新的URL,这意味着HTTP代理需要继续请求这个新的URL ,这便完成了自动跳转header("Location:http://www.baidu.com");2、DNS负载均衡 DNS负责提供域名解析服务,当我们访问某个站
2017-08-17 10:33:40
437
原创 LVS 工作原理
客户【computer】负载均衡调度器【prerount->input(ipvs)->postrount->realserver】 1. 当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间2. PREROUTING链首先会接收到用户请求,判断目标IP确定是本机IP,将数据包发往INPUT链3. IPVS是工作在INPUT链上的,当用户请求到
2017-08-17 10:32:56
192
原创 MySQL主写从读
1)主库添加账户 GRANT REPLICATION SLAVE,FILE ON *.* TO 'mstest'@'47.92.27.140' IDENTIFIED BY '123456';flush privilige2)主库修改配置文件 vim /etc/mysql/mysql.conf.d/mysqld.cnf查看状态:SHOW MASTER STATUS;serve
2017-08-17 10:29:12
871
原创 Nginx配置文件
1、main全区设置:#Nginx的worker进程运行用户以及用户组user root;#Nginx开启的进程数worker_processes 2;#worker_processes auto;#以下参数指定了哪个cpu分配给哪个进程,一般来说不用特殊指定。如果一定要设的话,用0和1指定分配方式.#这样设就是给1-4个进程分配单独的核来运行,出现第5个进程是就是随机
2017-08-17 10:27:48
203
原创 网络安全
1、XSS攻击(Cross Site Scripting)中文名为跨站脚本攻击解决 session.cookie_httponly = On2、php文件下载防盗链页面:aaa服务:$id = GET['id'];//打开文件$file = fopen('1.php','r');//定义下载头部信息header("content-type:application
2017-08-17 10:25:02
295
原创 网络管理
网络管理iso/osi七层模型:1、应用层 用户接口2、表示层 数据的表现形式3、会话层 上三层给用户提供服务 对应回话我的管理、同步4、传输层 下四层网络提供服务可靠不可靠的传输,传输前数据监测5、网络层 报文 提供传输地址、选路 确定ip地址6、数据链路层 帧7、物理层 比特A -> B邮箱应用层文字表示层会话层传输层确定端口[
2017-07-31 15:52:37
212
原创 vim编辑器+磁盘管理+用户用户组
vim编辑器命令模式、输入模式、低行模式ESC :wq q!vim文件名: 光标当前定位在首行vim +文件名: 光标当前定位在尾行vim +n文件名: 光标当前定位在n行vim +/单词 文件名 光标当前定位在单词出现的行 n常用命令::w 磁盘写入内存:q 退出当前:! 强制执行:ls 列出当前打开的所有文件:1 定位到哪行:/单词 定位到
2017-07-31 15:51:55
211
原创 linux常用命令
超级用户默认登录 根目录/root 普通用户默认登录/home/test目录pwd 显示当前目录mkdir -p 创建目录[遍历]cd 切换目录cd .当前目录 ..父目录 /上一个工作目录 ~家目录rm -rf 删除目录cp -r -a cy cynew 复制文件[遍历][一模一样] mv 文件 移动位置文件 移动重命名文件ln 1.txt 2.txt
2017-07-31 15:48:14
196
原创 Linux文件信息
用户属主、用户属组、及其他人权限-rw-r--r-- 1 root root 292 Jun 27 15:39 1.txt类型 所有者 所属组 其他人 链接数 文件所有者 文件组所属组 内容大小 更改时间 文件名第一位 文件类型一般文件 -存放数据目录 d存放文件符号链接 l指向其他文件 c 访问设备 --> b 访问设备 --> p
2017-07-31 15:47:33
171
原创 目录结构
启动流程1、开始---加载BIOS---2、BIOS:包含CPU等设备信息、设备启动顺序、硬盘信息、内存信息、时钟信息、内存信息、pnp特性等3、读取MBRLinux区分大小写 -远程telnet(明文)或SSH(加密)登陆字符模式/ Linux文件系统的入口,也是处于最高一级的目录/bin 基本的系统维护命令 /sbin 基本的系统维护命令,超级用户使用/us
2017-07-31 15:46:01
203
原创 设计模式
创建型:创建对象时根据特定场景,由程序创建对象的方式,从而保证更大性能、更好架构优势单例模式:保证系统中一个类只有一个实例 single 【private 、static 】工厂模式:实例化对象用工厂方法代替new操作的一种模式 factory 【Interface 、implement、ProductFactory 】原型模式:通过拷贝这些原型创建新的对象 clone生成器( 建
2017-07-31 13:54:21
154
原创 桥接模式:将抽象部分与它的实现部分分离
// 桥接模式:将抽象部分与它的实现部分分离abstract class Bridge{public $car;abstract function Run();}class street extends Bridge{public function Run(){$this->car->Run();echo "乡间小路";}}class road
2017-07-31 13:53:58
1054
原创 生成器【建造者】模式:将一个复杂对象的构造与它的表示分离
// 生成器【建造者】模式:将一个复杂对象的构造与它的表示分离 // 具体产品角色 class Bird{public $head;public $wind;public $foot;public function show(){echo $this->head;echo $this->wind;echo $this->foot;}}// 抽象鸟
2017-07-31 13:52:59
998
原创 迭代器模式:将遍历集合的任务交给一个叫做迭代器的对象,它的工作时遍历并选择序列中的对象,而客户端程序员不必知道或关心该集合序列底层的结构*/
/*迭代器模式:将遍历集合的任务交给一个叫做迭代器的对象,它的工作时遍历并选择序列中的对象,而客户端程序员不必知道或关心该集合序列底层的结构*/interface Iterators{public function First();public function Pre();public function Next();public function End();pub
2017-07-31 13:52:06
233
原创 装饰器:动态修改类的功能
/*装饰器:动态修改类的功能*/interface Decorator{public function before();public function after();}?>require_once "Decorator.php";class DecoratorO implements Decorator{public function bef
2017-07-31 13:51:41
193
原创 装饰器:动态修改类的功能
/*装饰器:动态修改类的功能*/interface Decorator{public function before();public function after();}?>require_once "Decorator.php";class DecoratorO implements Decorator{public function bef
2017-07-24 10:45:04
201
原创 策略模式
interface Strategy{public function showAd();public function showGt();}require_once "Strategy.php";class MaleGrategy implements Strategy{public function showAd(){echo "Male
2017-07-24 10:44:27
155
原创 数据对象映射模式
/*数据对象映射模式:*/class User{public $id;public $name;public $db;public function __construct($id){$this->db = @mysql_connect("localhost","root","root");mysql_select_db("hxrz");$res = mysql_q
2017-07-24 10:43:46
202
原创 观察者模式:当一个对象状态发生改变时,通知依赖他的全部对象都发生改变
/*观察者模式:当一个对象状态发生改变时,通知依赖他的全部对象都发生改变*/abstract class EventGenerator{private $observers = array();public function addObserver(Observer $observer){$this->observers[] = $observer;}public
2017-07-24 10:42:46
1154
原创 适配器模式:把一些相似的类转换成统一的接口
/*适配器模式:把一些相似的类转换成统一的接口*/interface DBtool { function connect($host, $username, $password, $database) function query();}class mysql implements DBtool { public $connect; pu
2017-07-24 10:41:58
252
原创 魔术方法
// 魔术方法class Object{public $array = array();// 设置属性public function __set($key,$value){$this->array[$key] =$value;}// 获取属性public function __get($key){return $this->array[$key]
2017-07-21 09:42:24
210
原创 自动加载
ApplicationControllerIndexController.class.phpnamespace Application\Controller;class Index{public static function test(){echo "hello world";}}
2017-07-21 09:41:18
195
原创 注册树模式,统一管理实例化对象
// 注册树模式,统一管理实例化对象class Register{protected static $objects;public static function set($alias,$object){self::$objects[$alias] = $object;}public static function get($alias=""){if($alias ==
2017-07-21 09:37:06
285
原创 工厂模式解决如何不通过new来创建实例对象的方法
// 工厂模式解决如何不通过new来创建实例对象的方法class mysql{public function __construct(){echo "mysql";}}class oracle{public function __construct(){echo "oracle";}}class Factory{public static funct
2017-07-21 09:36:20
1375
原创 单例模式链式查询
class DB{/*单例模式:解决对象只能实例化一次的问题*/private static $instance;public $link;private function __construct($conf){$this->link = @mysql_connect($conf['host'],$conf['user'],$conf['pswd']);mysql_sele
2017-07-21 09:35:50
417
原创 mongoDB入门
主要性能: √ 面向集合(表)存储、易存储对象类型的数据 √ 模式自由(不同结构的文件存储同一个数据库中) √ 存储在结合中的文档,被存储为键-值对的形式。 √ 使用高效的二进制数据存储,包含大对象(如视频等) √ 支持动态查询 √ 支持复制和故障恢复 √ 文件格式为BSON √ 自动处理碎片 √ 可以通
2015-03-21 23:34:25
230
原创 表单提交前验证
$("#save").click(function(){ if($("#savehosts").val() == ""){ alert('请选择主机'); return false; } if($("#savegroups :selected").val() == 'none' && $("#
2015-03-19 21:02:02
271
原创 jQuery的Dom操作
html> head> script language='javascript' type='text/javascript'src='jquery-1.11.1.js'>script> head> body> a href="www.baidu.com">helloa> div class="test">div>
2015-03-19 21:00:32
271
原创 jQuery显示隐藏
$(document).ready(function(){ $("#rows_per_page").change(function(){ var $value = $("#rows_per_page").find("option:selected").val(); if($value == "自定义") { $("#row_p
2015-03-19 20:59:06
296
原创 全反反选样式+数据隐藏域
// 选择取消 function chooseHost(){ //点击取消对象 var obj = $(event.target); var id = $(event.target).attr('id');
2015-03-19 20:58:48
254
原创 jQuery.ajax
$.ajax({ type: "POST", url: "/manager/idcs/searchcity", data: "prvid=10", dataType:'json', success: function(msg){ alert( "Data Saved: " + msg ); }});
2015-03-19 20:57:32
194
原创 jQuery全选反选
$("#checkAll").click(function(){ $(".pageTablePub :checkbox").each(function(){ if ( $("#checkAll").is(':checked') ){ $(this).prop("checked",true); }
2015-03-19 20:56:59
298
原创 jQuery省级联动(ajax+select)
$(document).ready(function(){ $("#provinceid").change(function(){ var $p = $('#provinceid option:selected').val(); $.ajax({ type:"POST",
2015-03-19 20:56:49
312
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人