Memcache缓存用好了,性能有了很大的提高

web服务器1 web服务器2 web服务器3
如果每台web服务器都向mysql服务器表插入信息并且要做出相应最新编号反馈
出现这样的高并发时候怎么减少服务器压力,同时用户体验还要好

可以使用Memcache缓存 使用Memcache的add方法 原子性(不能修改)

<?php
$memcache_obj = memcache_connect ( "localhost" , 11211 );

/* 面向过程编程 API */
memcache_add ( $memcache_obj , ‘var_key‘ , ‘test variable‘ , false , 30 );

/* 面向对象编程 API */
$memcache_obj -> add ( ‘var_key‘ , ‘test variable‘ , false , 30 );

?>

成功时返回 TRUE , 或者在失败时返回 FALSE 。 如果这个key已经存在返回 FALSE

备注:Memcache是一个分布式缓存 所以可以挂在其他空闲服务器上 达到缓存共享


特性、优点和限制

Memory :内存存储,速度快,对于内存的要求高,所缓存的内容非持久化。
对于 CPU 要求很低,所以常常采用将 Memcached 服务端和一些 CPU 高消耗 Memory 低消耗应用部属在一起。


集中式 Cache :避开了分布式 Cache 的传播问题,但是需要非单点保证其可靠性,这需要 cluster 的工作,
可以将多个 Memcached 作为一个虚拟的 cluster ,
同时对于 cluster 的读写和普通的 memcached 的读写性能没有差别。


分布式扩展: Memcached 的很突出一个优点,就是采用了可分布式扩展的模式。
可以将部属在一台机器上的多个 Memcached 服务端或者部署在多个机器上的 Memcached 服务端组成一个虚拟的服务端,
对于调用者来说完全屏蔽和透明。提高的单机器的内存利用率。


Socket 通信:传输内容的大小以及序列化的问题需要注意(当前支持 Tcp 和 udp 两种模式),序列化成本和带宽成本还是需要注意


特殊的内存分配机制:首先要说明的是 Memcached 支持最大的存储对象为 1M

Cache 机制简单: 首先它没有什么同步,消息分发,两阶段提交等等,它就是一个很简单的 Cache ,把东西放进去,然后可以取出来


Memcache缓存用好了,性能有了很大的提高

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。