11 2015 档案
摘要:InnoDB 有两块非常重要的日志,一个是undo log,另外一个是redo log,前者用来保证事务的原子性以及InnoDB的MVCC,后者用来保证事务的持久性。和大多数关系型数据库一样,InnoDB记录了对数据文件的物理更改,并保证总是日志先行,也就是所谓的WAL(Write Ahead Lo...
阅读全文
摘要:事务是一个数据库必备的元素,对于redis也不例外,对于一个传统的关系型数据库来说,数据库事务满足ACID四个特性:A代表原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的...
阅读全文
摘要:写在前面的话1、推荐用mixed,默认使用statement,基于上下文 set session/global binlog_format=mixed;2、二进制日记录了数据库执行更改的操作,如Insert,Update,Delete等。不包括Select等不影响数据库记录的操作3、MySQL记录的...
阅读全文
摘要:1、TCP是什么关于OSI的七层模型TCP在第四层——Transport层,第四层的数据叫Segment-》报文IP在第三层——Network层,在第三层上的数据叫Packet-》数据包ARP在第二层——Data Link层;在第二层上的数据,我们把它叫Frame-》帧数据从应用层发下来,会在每一层...
阅读全文
摘要:简介使用upstream模块实现nginx负载均衡使用nginx_upstream_check_module模块实现后端服务器的健康检查使用nginx-sticky-module扩展模块实现Cookie会话黏贴(session-sticky效果)使用proxy模块实现静态文件缓存使用ngx_cach...
阅读全文
摘要:1、HTML enctype Attributeapplication/x-www-form-urlencoded 传送之前所有的字符都会被encoded,(spaces 被转换为+、特殊字符被转换为ASCII HEX)multipart/form-data 没有字符被encoded,一般用upl...
阅读全文
摘要:有这么一段配置文件gzip on# 默认值: gzip off # 开启或者关闭gzip模块 gzip_static off;# nginx对于静态文件的处理模块# 该模块可以读取预先压缩的gz文件,这样可以减少每次请求进行gzip压缩的CPU资源消耗。该模块启用后,nginx首先检查是否存在请求静...
阅读全文
摘要:1、编译安装过程优化在编译Nginx时,默认以debug模式进行,而在debug模式下会插入很多跟踪和ASSERT之类的信息,编译完成后,一个Nginx要有好几兆字节。在编译前取消Nginx的debug模式,编译完成后Nginx只有几百千字节,因此可以在编译之前,修改相关源码,取消debug模式,具...
阅读全文
摘要:一、简介Nginx版本从0.7.48开始,支持了类似Squid的缓存功能。这个缓存是把URL及相关组合当做Key,用Md5算法对Key进行哈希,得到硬盘上对应的哈希目录路径,从而将缓存内容保存在该目录内。NginxWeb缓存服务只能为指定URL或状态码设置过期时间,不支持类似Squid的PURGE指...
阅读全文
摘要:很多人都可以碰到一个陷阱。下面我们列出,我们经常看到的问题,以及解释如何解决这些问题。在Freenode上的#nginx IRC频道这些讨论很频繁。1、权限从来不要使用777权限,查看目录的权限namei -om /path/to/check2、root设置BAD:server { serve...
阅读全文
摘要:Linux中所有东西都是文件,一个socket就对应着一个文件描述符,因此系统配置的最大打开文件数以及单个进程能够打开的最大文件数就决定了socket的数目上限;但是linux是有文件句柄限制的,而且默认不是很高,一般都是1024,生产服务器用其实很容易就达到这个数量一、limits.conf文件工...
阅读全文
摘要:刷票行为,一直以来都是个难题,无法从根本上防止。但是我们可以尽量减少刷票的伤害,比如:通过人为增加的逻辑限制。基于PHP,下面介绍防刷票的一些技巧:1、使用CURL进行信息伪造$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://loca...
阅读全文
摘要:nginx 使用ngx_http_limit_req_module和ngx_http_limit_conn_module 来限制对资源的请求这种方法,对于CC攻击(Challenge Collapsar)or DDOS(分布式拒绝服务)有一定的用处1、HttpLimitReqModule限制requ...
阅读全文
摘要:项目开发完成外发后,没有一个监控系统,我们很难了解到发布出去的代码在用户机器上执行是否正确,所以需要建立前端代码性能相关的监控系统。所以我们需要做以下的一些模块:一、收集脚本执行错误function error(msg,url,line){ var REPORT_URL = "xxxx/cgi"...
阅读全文
摘要:ICP简介Index Condition Pushdown (ICP) is an optimization for the case where MySQL retrieves rows from a table using an index. Without ICP, the storage e...
阅读全文
摘要:mysql官方的介绍In some cases, the server creates internal temporary tables while processing queries. Such a table can be held in memory and processed by th...
阅读全文
摘要:一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS...
阅读全文
摘要:无意中看到一段代码1、a.php测试[root@dev tmp]# time php a.phpreal 0m0.101suser 0m0.080ssys 0m0.013s2、b.php #include int main(void) { char *string = "...
阅读全文
摘要:写在前面的话查询容易,优化不易,且写且珍惜mysql结构从MySQL逻辑架构来看,MySQL有三层架构,第一层连接,第二层查询解析、分析、优化、视图、缓存,第三层,存储引擎MySQL有哪些索引类型 ?从数据结构角度1、B+树索引(O(log(n))):关于B+树索引,可以参考MySQL索引背后的数据...
阅读全文
摘要:什么是SSO?现在很多大的互联网公司都会有很多的应用,比如以下是淘宝网的截图: 天猫 聚划算 头条等都是不同的应用,有的甚至采用完全不同的域名,但是所有在淘宝注册的用户都是使用的一套用户名和口令,如果在这些系统直接切换做不到登陆状态的同步,体验是非常差的。再举个栗子,很多公司内部系统也有很多个,比...
阅读全文
摘要:1、线程安全宏定义在TSRM/TSRM.h文件中有如下定义#define TSRMLS_FETCH() void ***tsrm_ls = (void ***) ts_resource_ex(0, NULL)#define TSRMLS_FETCH_FROM_CTX(ctx) void ...
阅读全文
摘要:1. 查看该数据库实例下所有库大小,得到的结果是以MB为单位mysql> select table_schema,sum(data_length)/1024/1024 as data_length,sum(index_length)/1024/1024 \as index_length,sum(da...
阅读全文