November 23, 2016
[MySQL优化案例]系列 — slave延迟很大优化方法
"http://imysql.cn/2015/04/12/mysql-optimization-case-howto-resolve-slave-delay.shtml"
November 21, 2016
mysql中数据类型与占用空间大小的关系
"1、 如一个表有10个int类型的字段,那么每行数据大小为\n4(每个int类型占用4字节byte) * 10 = 40Bytes\n[][1]\n2、 如一个表有10个varchar(20)的字段,编码为utf8,那每行占用大小为\n3(每个汉字占用3字节) * 20 * 10 = 600Bytes\n如果是英文字符的话,则为\n1(1个字符占用1个字节) * 20 * 10 = 200Bytes\n[][2]\n则以上两种情况 ,每行的数据均\u0026lt;8K (1024byte * 8) ,符合以下规则( 1024byte = 1KB)\n[]"
November 21, 2016
mysql压力测试工具spcc-mysql
"http://imysql.cn/2014/10/10/tpcc-mysql-full-user-manual.shtml http://imysql.com/tag/压测"
November 18, 2016
Laravel框架数据库CURD操作、连贯操作使用方法
"Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。\n一、Selects\n检索表中的所有行\n$users = DB::table(\u0026#39;users\u0026#39;)-\u0026gt;get(); foreach ($users as $user) { var_dump($user-\u0026gt;name); } 从表检索单个行\n$user = DB::table(\u0026#39;users\u0026#39;)-\u0026gt;where(\u0026#39;name\u0026#39;, \u0026#39;John\u0026#39;)-\u0026gt;first(); var_dump($user-\u0026gt;name); 检索单个列的行\n$name = DB::table(\u0026#39;users\u0026#39;)-\u0026gt;where(\u0026#39;name\u0026#39;, \u0026#39;John\u0026#39;)-\u0026gt;pluck(\u0026#39;name\u0026#39;); 检索一个列值列表\n$roles = …"
November 13, 2016
PHP中的max_input_vars指令
"今天接到客服部工作人员反馈的一个问题,客户使用产品系统是允许用户添加产品属性的,而每个属性是由多个表单域组成 ,这样当每添加一个属性就等于添加了n个表单域,这个客户添加的非常的多,发现在提交保存的时候总是失败,提示其中一个表单元素的索引值不存在,经测试是发现服务端接收的一些表单域丢失了一部分。起初分析的是服务器接收的数据超出了php设置的max_post_size(其实当时已经设置了8M,足够使用了),修改了测试发现此问题仍然存在。后来将用户原来的一些添加的表单元素进行删除,再重新添加同样数据库表单域可以成功,但一旦超出一定数量的表单域就会发生丢失的情况,这个时候首先怀疑的是apache是否有类似限制接收隐藏域的指令,找了没有找到,紧接着在php中批到一个max_input_vars这个指令,意思就是说php中允许接收的最大表单域数据,到目前为止基本上是确定这个原因引起的了,奖其修改为2000,重启Apache,发现一切正常。\n总结:提起php中的max_input_vars 估计很少人知道这个这个指令,因为他的使用场景实在是太少了,在php.ini中这个指令的定义是指服务端最大可以接 …"
November 9, 2016
使用supervisord监控php脚本
"官网: http://www.supervisord.org\n一、安装supervisord\n$brew install supervisord 在mac下安装要比linux下安装方便的多。\n二、配置\n修改/usr/local/etc/supervisord.ini文件,取消以下几行注释\n[inet_http_server] ; inet (TCP) server disabled by default port=127.0.0.1:9001 ; (ip_address:port specifier, *:port for all iface) username=user ; (default is no username (open server)) password=123 ; (default is no password (open server)) 这样就可以通过浏览器对进行管理了。\n三、添加一个新应用\n创建一个a.php文件,内容如下:\nwhile(true){ echo \u0026#39;a\u0026#39; . time() . \u0026#34;\\r\\n\u0026#34;; sleep(1); } …"
November 4, 2016
在linux下,解决修改文件权限引起的git出现的文件变化问题
"有时候,我们将服务器上的web文件夹的权限进行了修改,但git默认是也会记录权限状态的,这个时间用git status会发现所有的文件都处于被修改的状,这显示不是我们想要的。这时我们只要让git把文件权限忽略掉就可以了。\n在操作前首先我们确认一下当前配置项core.filemode,默认为true,(也可以使用cat .git/config查看)\n$ git config --list 然后执行\n$ git config core.filemode false 这样就设置了忽略文件权限。查看下配置:\n$ cat .git/config [] git忽略文件权限的配置"
November 1, 2016
按位与、或、异或等运算方法
"常见位运算\n异或^:相同为0,不同为1。如:0^0=0; 0^1=1; 1^0=1; 1^1=0 按位与\u0026amp;: 都为1则为1,否则为0。如:1\u0026amp;1=1; 1\u0026amp;0=0; 0\u0026amp;1=0; 0\u0026amp;0=0 按位或|:有1则为1,否则为0。如:1|1=1; 1|0=1; 0|1=1; 0|0=0 按位非(按位取反)~:取反操作。如:1-\u0026gt;0; 0-\u0026gt;1\n——–\n**按位与运算符(\u0026amp;)**参加运算的两个数据,按二进制位进行“与”运算。运算规则:0\u0026amp;0=0; 0\u0026amp;1=0; 1\u0026amp;0=0; 1\u0026amp;1=1;即:两位同时为“1”,结果才为“1”,否则为0例如:3\u0026amp;5 即 0000 0011 \u0026amp; 0000 0101 = 0000 0001 因此,3\u0026amp;5的值得1。另,负数按补码形式参加按位与运算。“与运算”的特殊用途:(1)清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。(2)取一个数中指定位方法:找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数 …"
October 31, 2016
解决git clone时报错:The requested URL returned error: 401 Unauthorized while accessing的问题
"版本问题,最直接的解决办法就是重新编辑安装git吧:\n下载: wget -O git.zip https://github.com/git/git/archive/master.zip 解压: unzip git.zip 进入git目录: cd git-master 编译安装: autoconf ./configure --prefix=/usr/local make \u0026amp;\u0026amp; make install 最后别忘了删掉旧的git,并把新版本的git建立软链接到/usr/bin/git rm /usr/bin/git ln -s /usr/local/bin/git /usr/bin/git "