首页 > 代码库 > memcache分布式小实例
memcache分布式小实例
<?php/** * 分布式的 memcache set 实现 *//** * 创建缓存实现memcache 添加分布式服务器 并设置权限 */function createCache() { $arr = array( array("host" => "127.0.0.1", "port" => 11211, "weight" => 20), //127.0.0.1:11211的权重是20% array("host" => "127.0.0.1", "port" => 11212, "weight" => 80), //127.0.0.1:11212的权重是80% ); $cache = new memcache(); foreach ($arr as $ele) { //使用长连接,并且设置不同memcache服务器的权重,将memcache服务器添加到连接池 $cache->addServer($ele["host"], $ele["port"], true, $ele["weight"]); } return $cache;}header("content-type:text/html;charset=utf-8");$cache = createCache();for ($i = 0; $i < 10; $i++) { //由于使用了分布式,所以这里不需要使用connect或者pconnect打开链接,
//set方法会调用memcache的分布式缓存分配算法,按照权重将缓存项缓存到连接池的某个服务器 if ($cache->set($i, $i, 0, 3600)) { echo "缓存成功,key:$i,value:$i"; } else { echo "缓存失败"; } echo "<br/>";}?>
<?php/** * 分布式的 memcache get 实现 */function createCache() { $arr = array( array("host" => "127.0.0.1", "port" => 11211, "weight" => 20), array("host" => "127.0.0.1", "port" => 11212, "weight" => 80) ); $cache = new memcache(); foreach ($arr as $ele) { $cache->addServer($ele ["host"], $ele ["port"], true, $ele ["weight"], 1); } return $cache;}header(‘content-type:text/html;charset=utf-8‘);$cache = createCache();$val;for ($i = 0; $i < 10; $i ++) { $val = $cache->get($i); if (false === $val) { echo "缓存获取失败"; } else { echo "缓存获取成功:,key:$val,value:$val"; } echo "<br/>";}$cache->close();?>
memcache分布式小实例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。