`
文章列表
倒排索引   1.简介 倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称 ...
转载文章,原文地址:http://blog.csdn.net/iefreer/article/details/15815455   为什么需要索引(Why is it needed)? 当数据保存在磁盘类存储介质上时,它是作为数据块存放。这些数据块是被当作一个整体来访问的,这样可以保证操作的原子性。硬盘数据块存储结构类似于链表,都包含数据部分,以及一个指向下一个节点(或数据块)的指针,不需要连续存储。记录集只能在某个关键字段上进行排序,所以如果需要在一个无序字段上进行搜索,就要执行一个线性搜索(Linear Search)的过程,平均需要访问N/2的数据块,N是表所占据的数据块数目。 ...
1. 技术背景 FaceBook页面加载技术 试想这样一个场景,一个经常访问的网站,每次打开它的页面都要要花费6 秒;同时另外一个网站提供了相似的服务,但响应时间只需3 秒,那么你会如何选择呢?数据表明,如果用户打开一个 ...
转发文章 原文地址:http://reeze.cn/2014/08/23/multi-thread-service-and-fork/?f=http://blogread.cn/ 名词解释 PHP vs HHVM: PHP指的是php.net(Zend)实现的PHP,而HHVM指的是Facebook开源的PHP实现。 PHP-FPM: (PHP Fastcgi Process Manager) 一个PHP Sapi实现,目前的主 ...
PS:原创文章,如需转载,请注明出处,谢谢!      本文地址:http://flyer0126.iteye.com/blog/2346265   1、应用程序(比如PHP)长时间的执行批量的MYSQL语句。最常见的就是采集或者新旧数据转化。   SHOW VARIABLES LIKE '%timeout%’   解决方案:在my.ini文件中添加或者修改以下两个变量:wait_timeout=2880000interactive_timeout = 
      首先抛出一个问题,如下类似: <?php $a = 0.57; echo intval(floatval($a) * 100); //56     结果可能有点出乎你的意外,PHP遵循IEEE 754双精度:     浮点数, 以64位的双精度, 采用1位符号位(E), 11指数位(Q), 52位尾数(M)表示(一共64位)     符号位:最高位表示数据的正负,0表示正数,1表示负数。     指数位:表示数据以2为底的幂,指数采用偏移码表示     尾数:表示数据小数点后的有效数字.       再来看看小数用二进制怎么表示:     乘2取 ...
转载文章,原文地址:http://wuduoyi.com/note/hhvm/   背景 HHVM 是 Facebook 开发的高性能 PHP 虚拟机,宣称比官方的快9倍,我很好奇,于是抽空简单了解了一下,并整理出这篇文章,希望能回答清楚两方面的问题: HHVM 到底靠谱么?是否可以用到产品中? 它为什么比官方的 PHP 快很多?到底是如何优化的? 你会怎么做? 在讨论 HHVM 实现原理前,我们先设身处地想想:假设你有个 PHP 写的网站遇到了性能问题,经分析后发现很大一部分资源就耗在 PHP 上,这时
PS:原创文章,如需转载,请注明出处,谢谢!      本文地址:http://flyer0126.iteye.com/blog/2320235   目前问题: 现有业务平台化水平低; 现有系统待升级改造; 组件化程度低; 现有平台功能复杂冗余; 数据库服务化水平低; 个人技术领域单一。 解决方案 平台化、服务化; 引入高效工具及开发框架,提升平台开发效率; 组件化; 重视移动版本的研发; 数据服务化迁移; 结合PHP和HIVE,结合前端的展现、方便操作等优势和hive的数据计算能力优势; 多看、多学、多思考、多总结。 重点方向    1. 业务 ...
1、HPP HTTP参数污染 HTTP参数污染指的是,在URL中提交相同键值的两个参数时,服务器端一般会进行一些处理。比如Apache就要以最后一个参数为准,比如: user.php?id=111&id=222 如果输出$_GET数组,则id的值只会取222,即URL上提交的多余值覆盖了前一个值。 2、一个CTF题目
PS:原创文章,如需转载,请注明出处,谢谢!      本文地址:http://flyer0126.iteye.com/blog/2309272         最近app服务端研发需要做版本兼容功能,特记录一下解决实现过程,以便后期参考。       一、兼容原则       区分app请求版本,保证不同版本的app访问api时均可用;同时版本路由控制与业务逻辑解耦,实现Router与action层的分离,保障应用扩展性和可维护性。       二、现有路由分析       目前项目框架原因,uri的结构如下:/appName/module/action,举例:/demo/a ...
在svn命令行merge之后文件经常会出现local add, incoming add upon merge问题,导致无法提交,可以通过以下命令解决冲突 Summarizing to resolve the tree conflict committing your working dir with svn client 1.6.x you can use: svn resolve --accept working -R .  where . is the directory in conflict.
背景:       自增长是一个很常见的数据属性,在MySQL中大家都很愿意让自增长属性的字段当一个主键。特别是InnoDB,因为InnoDB的聚集索引的特性,使用自增长属性的字段当主键性能更好,这里要说明下自增主键需要注意的几个事项。 问题一:表锁       在MySQL5.1.22之前,InnoDB自增值是通过其本身的自增长计数器来获取值,该实现方式是通过表锁机制来完成的(AUTO-INC LOCKING)。锁不是在每次事务完成后释放,而是在完成对自增长值插入的SQL语句后释放,要等待其释放才能进行后续操作。比如说当表里有一个auto_increment字段的时候,innoDB会 ...
转载文章,原文地址:https://blog.eood.cn/rate-limiting   Rate limiting 在 Web 架构中非常重要,是互联网架构可靠性保证重要的一个方面。 从最终用户访问安全的角度看,设想有人想暴力碰撞网站的用户密码;或者有人攻击某个很耗费资源的接口;或者有人想从某个接口大量抓取数据。大部分人都知道应该增加 Rate limiting,做请求频率限制。从安全角度,这个可能也是大部分能想到,但不一定去做的薄弱环节。 从整个架构的稳定性角度看,一般 SOA 架构的每个接口的有限资源的情况下,所能提供的单位时间服务能力是有限的。假如超过服务能力,一般会造成 ...

PHP之APC缓存

    博客分类:
  • PHP
 一、APC缓存简介 APC,全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”。它为我们提供了缓存和优化PHP的中间代码的框架。 APC的缓存分两部分:系统缓存和用户数据缓存。 系统缓存 它是指APC把PHP文件源码的编译结果缓存起来,然后在每次调用时先对比时间标记。如果未过期,则使用缓存的中间代码运行。默认缓存3600s(一小时)。但是这样仍会浪费大量CPU时间。因此可以在php.ini中设置system缓存为永不过期(apc.ttl=0)。不过如果这样设置,改运php代码后需要重启WEB服务器。目前使用较多的是指此类缓存。 用户数据缓存 缓存由用户 ...
PS:原创文章,如需转载,请注明出处,谢谢!      本文地址:http://flyer0126.iteye.com/blog/2270090   PHP7最近推出了,首要说的就是性能方面的提升。对于in_array()一直诟病很多,至于性能有多差,先简单测试一下,看看数据。 测试程序如下: <?php /** * 获取当前时间戳(毫秒级) * @return float */ function microtime_float(){ list($usec, $sec) = explode(' ', microtime()); return ...
Global site tag (gtag.js) - Google Analytics