接受和发送数据时最多尝试多少个服务器,只在打开
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';