设为首页 加入收藏

TOP

Memcached(三)
2017-10-16 18:18:49 】 浏览:10817
Tags:Memcached
;

           解决方案 :http://www.th7.cn/system/lin/201509/130606.shtml

                             ln -s /usr/local/lib/libevent.so /usr/lib/libevent-2.0.so.5

4》Memcahed测试

                      

                       

    set test 0 0 3    向test当中存储数据

    123         输入的key为test存入数据

    STORED          返回set结果

    get test          获取数据

    VALUE test 0 3

    123          取得key为test中的数据

    incr test 1     数据 增加1

    124

    decr test 2    数据减少2

    122

     quit

5》重启

    # kill `cat /tmp/memcached.pid`

6》Memcahed分布式部署概念

              1>方案   

        通常较小的应用一台Memcached服务器就可以满足需求,但是大中型项目可能就需要多台Memcached服务器了,这就牵涉到一个分布式部署的问题。

    对于多台Memcached服务器,怎么确定一个数据应该保存到哪台服务器呢?有两种方案,一是普通Hash分布,二是一致性Hash分布,下面详细说明:

    跟DB的Amoeba一样这里通过Hash算法后进行取模 % 2分布到 server1, server2                 

<?php

/**

* 普通Hash分布

*/

//Hash函数

function mHash($key){

    $md5 = substr(md5($key), 0, 8);

    $seed = 31;

    $hash = 0;

    for($i = 0; $i < 8; $i++){

        $hash = $hash * $seed + ord($md5{$i});

        $i++;

    }

    return $hash & 0x7FFFFFFF;

}

//假设有2台Memcached服务器

$servers = array(

    array('host' => '192.168.1.1', 'port' => 11211),

    array('host' => '192.168.1.1', 'port' => 11211)

);

$key = 'MyBlog';

$value = 'http://blog.phpha.com';

$sc = $servers[mHash($key) % 2];

$memcached = new Memcached($sc);

$memcached->set($key, $value);

?>

************Memcached命令使用推荐博客:http://www.cnblogs.com/jeffwongishandsome/archive/2011/11/06/2238265.html

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇在ubuntu16.04中安装apache2+mods.. 下一篇Linux软件安装管理

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目