Php-fpm运行原理

Posted by 夏泽民

cgi的历史



sds

Posted by 夏泽民

SDS(Simple Dynamic Strings)是一个C语言字符串库,设计中增加了从堆上分配内存的字符串,来扩充有限的libc字符处理的功能,使得: 这和在你的项目中拷贝sds.c和sds.h文件一样简单。代码很小,每个C99编译器应该都不带任何问题地搞定。 使用更简便 二进制安全 计算更有效率 而且仍旧…兼容一般的C字符串功能 https://github.com/antirez/sds



SkipList

Posted by 夏泽民

有序数组可以快速索引,但是增删困难 链表可以快速增删,但是索引困难 结合两者的优点,以时间换空间,用数组索引部分数据,链表存数据,索引还可以多层,或者直接用链表多层索引,就是跳表。 经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。目前开源软件 Redis 和 LevelDB 都有用到它, 它的效率和红黑树以及 AVL 树不相上下,但跳表的原理相当简单。 跳跃表的性质;



MurmurHash

Posted by 夏泽民

https://github.com/aappleby/smhasher 看Jedis的主键分区哈希时,看到了名字很萌很陌陌的MurmurHash,谷歌一看才发现Redis,Memcached,Cassandra,HBase,Lucene都用它。 其实是 multiply and rotate的意思,因为算法的核心就是不断的”x *= m; x = rotate_left(x,r);” MurmurHash算法:高运算性能,低碰撞率,由Austin Appleby创建于2008年,现已应用到Hadoop、libstdc++、nginx、libmemcached等开源系统。2011年Appleby被Google雇佣,随后Google推出其变种的CityHash算法。 官方网站:https://sites.google.com/site/murmurhash/ MurmurHash算法,自称超级快的hash算法,是FNV的4-5倍。



PHP的Realpath Cache

Posted by 夏泽民

PHP的缓存有很多种,包括输出缓冲(ob系列函数),opcode缓存(APC,eAccelerator,XCache等扩展实现),这些大家已经很熟悉了,接下来介绍一下一个不太被人注意的PHP缓存机制:realpath_cache。



Search

Popular posts

Anything in here will be replaced on browsers that support the canvas element

Recent posts

This blog is maintained by 夏泽民

Get in touch with me at 465474307@qq.com

Subscribe to our mailing list

* indicates required