摘要:
在MySQL中,行级锁并不是直接锁记录,而是锁索引。索引分为主键索引和非主键索引两种,如果一条sql语句操作了主键索引,MySQL就会锁定这条主键索引;如果一条语句操作了非主键索引,MySQL会先锁定该非主键索引,再锁定相关的主键索引。在UPDATE、DELETE操作时,MySQL不仅锁定WHE... 阅读全文
摘要:
使用"insert into"语句进行数据库操作时可能遇到主键冲突,用户需要根据应用场景进行忽略或者覆盖等操作。总结下,有三种解决方案来避免出错。测试表:CREATE TABLE `device` (`devid` mediumint(8) unsigned NOT NULL AUTO_INCREM... 阅读全文
摘要:
exists (sql 如果返回结果集为真)not exists (sql 如果没有返回结果集为真)如下:表AID NAME1 A12 A23 A3表BID AID NAME1 1 B12 2 B23 2 B3表A和表B是1对多的关系 A.ID => B.AIDSELECT ID,NAME FROM... 阅读全文
摘要:
499错误解决方案499错误是什么?让我们看看NGINX的源码中的定义:ngx_string(ngx_http_error_495_page), /* 495, https certificate error */ngx_string(ngx_http_error_496_page), /* 496... 阅读全文
摘要:
一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。一致性hash算法提出了... 阅读全文
摘要:
1. 截断功能file=dir1/dir2/dir3/my.file.txt${file#*/}: 拿掉第一条/及其左边的字符串:dir2/dir3/my.file.txt${file##*/}: 拿掉最后一条/及其左边的字符串:my.file.txt${file#*.}: ... 阅读全文
摘要:
app将用户名和密码发送到服务器,服务器验证用户名和密码都正确后,会在redis或memcached服务器中以用户id为键生成token字 符串,然后服务器把token字符串和用户id都返回给客户端(客户端通过token生成签名),例如token字符串"daf32da456hfdh" 和用户id"5... 阅读全文
摘要:
1. API签名的目的 校验API调用者的身份,是否有权访问 校验请求的数据完整性,防止被中间人篡改 防止重放攻击2.基本概念AccessKey: API使用者向API提供方申请的Access Key(或AppId), 用于标识API使用者的身份。SecretKey:由API服务提供方分配,API使... 阅读全文
摘要:
$$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值)$-使用Set命令设定的Flag一览$*所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。$@所有参数列表。如"$@"用「... 阅读全文
摘要:
Yii的自带缓存都继承CCache 类, 在使用上基本没有区别缓存基础类 CCache 提供了两个最常用的方法:set() 和 get()。要在缓存中存储变量 $value,我们选择一个唯一 ID 并调用 set() 来存储它:Yii::app()->cache->set($id, $value);... 阅读全文
摘要:
1. 在设计api时我们经常会使用关联数组,例如:我要返回给客户端主题信息和主题包列表原始数组格式$arr = array( 100=>array('themeName'=>'a','files'=>array('1.jpg','2.jpg')), 200=>array('themeNa... 阅读全文
摘要:
yii框架批量插入数据有两种方法,第一种是循环多次插入和一次批量插入,第一种方法要注意插入数据中间有一次数据插入失败要注意回滚事务 循环插入数据 第一种方法 第二种方法 批量插入数据 生成SQL:INSERT INTO users (id, name) VALUES (:id0, :name0),( 阅读全文
摘要:
假设Yii项目路径为 /home/apps1. 创建文件 /home/apps/web/protected/commands/console.php$yii = '/home/apps/framework/yii.php';require_once($yii);$configFile = dirna... 阅读全文
摘要:
linux下采用先分割后合并的策略处理大文件第一步:分割文件 splitsplit 参数:-a, --suffix-length=N 指定输出文件名的后缀,默认为2个-b, --bytes=SIZE 指定输出文件的字节数-C, --line-bytes=SIZE 每一输出档中,单行的最大 byte ... 阅读全文
摘要:
互联网的通信安全,建立在SSL/TLS协议之上。本文简要介绍SSL/TLS协议的运行机制。文章的重点是设计思想和运行过程,不涉及具体的实现细节。如果想了解这方面的内容,请参阅RFC文档。一、作用不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风险。(1) 窃听风险(... 阅读全文
摘要:
QPS(Query Per Second) = req/sec = 请求数/秒【QPS计算PV和机器的方式】QPS统计方式QPS = 总请求数 / ( 进程总数 * 请求时间 )单台服务器每天PV计算公式1:每天总PV = QPS * 3600 * 6公式2:每天总PV = QPS * 3600 *... 阅读全文
摘要:
1. 统计当前目录下,php文件数量find ./ -name "*.php" | wc -l2. 统计当前目录下所有php文件代码行数find ./ -name "*.php" | xargs cat | wc -l或者wc -l `find ./ -name "*.php"` | tail -n... 阅读全文
摘要:
Nginx连接fastcgi的方式有2种:TCP和unix domain socket什么是Unix domain socket?—— 维基百科Unix domain socket 或者 IPC socket是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。与管道相比,Unix dom... 阅读全文
摘要:
/** * 给文本中的url加超级链接,同时滤过已有链接的url * @param string $str [description] * @return [type] [description] */function text2links($str='') { if($str==... 阅读全文
摘要:
whereis 查找软件的安装路径-b 只查找二进制文件-m 只查找帮助文件-s 只查找源代码-u 排除指定类型文件-f 只显示文件名-B 在指定目录下查找二进制文件-M 在指定目录下查找帮助文件-S 在指定目录下查找源代码locate 在文件索引数据库中搜索文件-d 搜索指定数据库find... 阅读全文