发新帖

[PHP] PHP Memcache 的使用

零下一度 2018-1-10 1371
 $mem = new Memcache();
 /*
 * @param           host
 * @param           port
 * @param           timeout
 */
 $mem->connect("127.0.0.1",11211);//     pconnect            建立一个永久有效的链接
 
 /*
 * setCompressThreshold ( int $threshold [, float $min_savings ] )           最大值$threshold           $min_savings压缩率    开启大值自动压缩
 * Note                 此函数在memcache2.0.0加入。
 */
 $mem->setCompressThreshold(20000, 0.2);
 
 /*
 * @param           key             将要分配给变量的key。
 * @param           var             将要被存储的变量。字符串和整型被以原文存储,其他类型序列化后存储。
 * @param           flag            使用MEMCACHE_COMPRESSED标记对数据进行压缩(使用zlib)。

 * @param           expire          
当前写入缓存的数据的失效时间。如果此值设置为0表明此数据永不过期。你可以设置一个UNIX时间戳或 
以秒为单位的整数(从当前算起的时间差)来说明此数据的过期时间,但是在后一种设置方式中,不能超过 2592000秒(30天)
 */
 $mem->add("userinfo",array("username"=>"张三","sex"=>"男","age"=>"18"),MEMCACHE_COMPRESSED,120);
 
 //$mem->delete("userinfo");              //删除已添加的元素
 //$mem->flush();                          //删除已经存储的所有元素
 $res = $mem->get("userinfo");     //获取添加的元素
 
 $res = $mem->getextendedstats();      //缓存服务器池中所有服务器统计信息
 $res = $mem->getserverstatus("127.0.0.1",11211); //查看指定memcache服务器在线状态
 
 /*
 *  @param          type                reset, malloc, maps, cachedump, slabs, items, sizes
 *  @param          slabid              用于与参数type联合从指定slab分块拷贝数据,cachedump命令会完全占用服务器通常用于 比较严格的调试
 *  @param          limit               用于和参数type联合来设置cachedump时从服务端获取的实体条数。
 *  获取当前服务器统计信息
 */
 $res = $mem->getstats();
 
 $res = $mem->getversion();                      //memcache服务器版本
 
 $mem->delete("nums");
 $mem->add("nums",18,MEMCACHE_COMPRESSED,120);
 $res = $mem->decrement("nums",5);  //只能给一个纯数字 减值
 $res = $mem->increment("nums",10); //只能给一个纯数字 加值
 $mem->replace("userinfo","李四"); //替换已有元素的值
 $res = $mem->get("userinfo");
 $res = $mem->set("name","王五"); // 类似add
 $res = $mem->get("name");
 
 /*
 * 向连接池中添加一个memcache服务器

 * addServer ( string $host [, int $port = 11211 [, bool $persistent [, 
int $weight [, int $timeout [, int $retry_interval [, bool $status [, 
callback $failure_callback [, int $timeoutms ]]]]]]]] )
 * @param           host
 * @param           port
 * @param           persistent
 * @param           weight
 * @param           timeout
 * @param           retry_interval
 * @param           status
 * @param           failure_callback
 * @param           timeoutms
 *
 * Note             这个方法在2.0.0版本加入Memcache。
 */
 $mem->addserver("127.0.0.1",11211);
 
 /*

 * setServerParams ( string $host [, int $port = 11211 [, int $timeout 
[, int $retry_interval = false [, bool $status [, callback 
$failure_callback ]]]]] )
 *
 */
 $mem->addServer("memcache_host", 11211, false, 1, 1, -1, false);
 $mem->setServerParams("memcache_host", 11211, 1, 15, true, "_callback_memcache_failure");   //运行时修改服务器参数和状态
 $mem->close();
 
 echo "";
 //print_r($res);
 print_r($res);


最新回复 (0)
返回
零下一度
主题数
928
帖子数
0
注册排名
1