Memcache : Confusions

徘徊边缘 提交于 2019-12-18 09:24:46

问题


I am going to use memcache(not memcacheD) for my PHP application . I have few confusions .

I found this wrapper class for memcache.

1)As on connect method it adds all servers to pull. If this is done on every single request wont it slow down the permanence cause of network latency ?

2)if there are 2 servers in a pool and one goes offline requests will still be made to offline server ? There is no other way to automatically remove offline server from memcache ? If not what does memcache.allow_failover = 1 setting do ?

3) IS there a way to see how many cache requests were served by which memcache server ?


回答1:


Any memcache API/wrapper will do. You can even build your own through PHP's CURL methods.

1) Does every single request pull all servers & cause network latency?

No. When your application makes a request, it attempts to connect to a single server, and "go-fish" to the next server on failure, NOT_FOUND, timeout, &tc. There may be some network latency, but a lot less then interacting with a database. If your concerned about I/O & latency, you should be able to architect a simple solution within your applications.

2) Will request still be made to offline server?

Up to you. Although the system is down, your application may still be trying to connect to it. If you decide to go with PECL's memcache API, your applications should be able to identify if memcached is operating normally on any given server. Memcache::checkServerStatus

2.1) What does memcache.allow_failover do?

This does exactly what it says. If you have memcached servers A, B, and D. And server A goes down. Both options will issue a USER_NOTICE; however, memcache.allow_failover=1 will continue to server B, and allow reads and writes. When memcache.allow_failover=0 all memcache I/O will return false gracefully.

Checkout the docs.

3) Memcached server reporting

Memcached offers a stats command, and PECL's memcache also gives a status method. However they're related to memory/slab statistics. If you would like a monitoring report of usage, Check out New Relic



来源:https://stackoverflow.com/questions/11778495/memcache-confusions

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!