表示 进入内容 13
Displaying posts with tag: memcache (reset)
NoSQL :: PHP :: MEMCACHE :: INNODB :: MySQL

Original Post: http://anothermysqldba.blogspot.com/2013/04/nosql-php-memcache-innodb-mysql.html

现在的MySQL 5.6已经出了一小会儿,  …

[获取更多]
Redis与Memcached的比较

Redis与Memcached的比较
  

1.网络IO模型

  Memcached是多线程,非阻塞IO复用的网络模型,分为监听主线程和worker子线程,监听线程监听网络连接,接受请求后,将连接描述字pipe 传递给worker线程,进行读写IO, 网络层使用libevent封装的事件库,多线程模型可以发挥多核作用,但是引入了cache coherency和锁的问题,比如,Memcached最常用的stats 命令,实际Memcached所有操作都要对这个全局变量加锁,进行计数等工作,带来了性能损耗。

[获取更多]
php memcached Consistent Hashing

php memcached Consistent Hashing

php连接memcache服务器的时候,最初我们只是按照业务来划分不同的memcache服务器。
后来随着流量的增加, 有些业务需要更多台memcache服务器做缓存的负载均衡。
为了增加缓存的命中率,最好是在均衡分布的基础上保证同一个key只对应一台cache服务器(貌似这个说法不太专业…)。
算法也很简单,假设cache服务器数量为N, 我们只要把key转化成int或者long(比如做个md5),然后mod N就可以了。
恩,看起来很正常,很靠谱。
直到有一天,其中一台cache服务器挂了。于是mod N 变成了 mod N-1。
代价?由于N变成了N-1,mod之后,大量的key对应的cache服务器都发生了变化, 缓存命中率大幅度降低。
添加新服务器的时候,也会有这种现象存在。
看个简单的例子, 现在有1 2 3 4四份数据, …

[获取更多]
表示 进入内容 13