memcache:
1.memcache数据访问模型:
首次访问从数据库查询,这是memcache 的模型, 我们可以通过整合spring,来实现自己的数据同步机制,
2、memcache 是相互之间乎不通信的分布式,memcache的分布式是完全基于客户端的
3、memcache内存存储机制
memcache 采用了 SLAB allocation 的机制来分配、管理内存,
SLAB 基本就是按照预先规定的大小,将分配好的内存分割成特定长度的块,来解决内存碎片问题!
SLAB 会重复使用已经分配的内存的目的,分配到的内存不会释放而是被重复利用,(注意这里的内存回收机制《内存使用完了怎么将新的内容加入到内存中》), 他有一个缺点, 就是会浪费内存空间, 例如 分配内存块 是 128 的块, 但是我们的数据只有100 ,那个28 就被浪费了!
4、memcache的删除机制
数据不会被删除, 空间会被重复利用, 它使用了LRU(最近最少使用) 的原则进行空间分配,memcache也不会监控数据是否过期,只用在客户端查询的时候才会检测数据是否过期.
5、memcache 的分布式算法
传说中的 consistent hashing
大概算法思路:
写道
将 所有的 key 通过hash映射到 从 0 到 2的32次方 -1 ,的一个闭环上,
再讲, cache服务节点映射到 这个闭环上, 然后从第一个key开始按照顺时针方式,找到了cache就将这些 key 放在这个 cache中, 然后再继续!当然具体算法比这个还要复杂!
再讲, cache服务节点映射到 这个闭环上, 然后从第一个key开始按照顺时针方式,找到了cache就将这些 key 放在这个 cache中, 然后再继续!当然具体算法比这个还要复杂!
详细的说明参考: http://younglibin.iteye.com/blog/2043761
相关推荐
php_memcache-3.0.8-5.6-nts-vc11-x86 example.php memcache.php
使用github上的php7分支自行编译,未修改源码。 匹配API20151012,NTS,VC14
php_memcache-3.0.8-5.5-ts-vc11-x64 用于 for php5.5 64位版本
php_memcache-3.0.7-5.3-ts-vc9-x86.zip php 5.3 32位 线程安全
memcache 3.08 用于php扩展
Installing Memcache on Wamp 2.1e and Windows 7 php_memcache-cvs-20090703-5.3-VC6-x86+使用方法+php5.3.X
Windows下的php_memcache扩展,亲测可用。对应:PHP版本5.3,线性安全,扩展编译器vc6,系统x86。
32位 非线程安全 php memcache.dll vc9
tar -zxvf pecl-memcache-4.0.4.tar.gz && cd /root/pecl-memcache-4.0.4 && /usr/local/php7/bin/phpize && ./configure --with-php-config=/usr/local/php7/bin/php-config && make && make install
这是一个php的拓展插件,环境在7.0以上
php_memcache-3.0.8-5.5-nts-vc11-x64 对应 PHP 5.5.25
php_memcache-2.2.6-5.3-vc9-x64.zip php 5.3 扩展 64 位 vc9, php_memcached.dll
php_memcache-3.0.8-5.5-nts-vc11-x64.zip php_memcache-3.0.8-5.5-nts-vc11-x86.zip php_memcache-3.0.8-5.5-ts-vc11-x64.zip php_memcache-3.0.8-5.5-ts-vc11-x86.zip php_memcache-3.0.8-5.6-nts-vc11-x64.zip ...
php_memcache-5.2-ts-win32-vc6-x86
php_memcache-5.4-nts-vc9-x86.dll 用于windows下php连接memcache的dll 对应的是NTS版本
在windows 64位机器上的memcached应用程序 以及 php_memcache.dll扩展 注意:是64位的版本!! 测试在Win7-64bit,php5.3.13-vc9-ts 环境下可以使用~~
php_memcache-3.0.8-5.5 32位dll扩展模块 download下载
php_memcache-3.0.8-5.4-nts-vc9-x86.zip
php_memcache-3.0.8-5.5-nts-vc11-x86 线程非安全的32位
php_memcache-3.0.8-5.5-nts-vc11-x86.zip