background image

接受和发送数据时最多尝试多少个服务器,只在打开

memcache.allow_failover 时有效 。

memcache.max_failover_attempts = 20

数据将按照此值设定的块大小进行转移。此值越小所需的额外网络传输越多。如果发现无法
解释的速度降低,可以尝试将此值增加到

32768。

memcache.chunk_size = 8192

连接到

memcached 服务器时使用的默认 TCP 端口。

memcache.default_port = 11211

控制将

key 映射到 server 的策略。默认值"standard"表示使用先前版本的老 hash 策略。

设为

"consistent"可以允许在连接池中添加/删除服务器时不必重新计算 key 与 server 之间的

映射关系。
memcache.hash_strategy = "standard"; 
控制将

key 映射到 server 的散列函数。默认值"crc32"使用 CRC32 算法,而"fnv"则表示使用

FNV-1a 算法。 FNV-1a 比 CRC32 速度稍低,但是散列效果更好。

memcache.hash_function = "crc32"

memcache 也可以作为 session 的存储模块,具体参看:memcache PHP 的 session.save_handler.
   1. $memcache = new Memcache;   
   2. $memcache->connect('localhost', 11211) or die ("Could not connect");   
   3.   
   4. $version = $memcache->getVersion();   
   5. echo "Server's version: ".$version."<BR>\n";   
   6.   
   7. $tmp_object = new stdClass;   
   8. $tmp_object->str_attr = 'test';   
   9. $tmp_object->int_attr = 123;   
  10.   
  11. $memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");   
  12. echo "Store data in the cache (data will expire in 10 seconds)<BR>\n";   
  13.   
  14. $get_result = $memcache->get('key');   
  15. echo "Data from the cache:<BR>\n";   
  16.   
  17. var_dump($get_result);  

我们已经安装好了,也配置好了

memcache,现在接下来如何调试 memcache.

来做个测试。
  先搞个表:
create table t(id char(36) not null primary key, username varchar(20) not null);
  插点数据:
insert into t values (uuid(),'Livia'),(uuid(),'Lucy'),(uuid(),'Sivia'),(uuid(),'david');
  写个简单脚本测试一下。
<?php 
$host = '192.168.1.21:3306'; 
$user = 'webuser'; 
$passwd = '123456'; 
$db = 'test';