PHP memcached扩展的set和add方法

WBOY
リリース: 2016-06-06 20:44:13
オリジナル
1181 人が閲覧しました

<code>$sql = "SELECT * FROM typecho_contents WHERE cid='1' ";
$memc_key = md5($sql);

$memc= new Memcached();
$memc->addServer('127.0.0.1', '11211');

$memc_res = $memc->get($memc_key);

if($memc_res){
    echo $memc_res;
}else{
    //数据库查询得到$str
    $memc_res = $memc->set(memc_key,$str);
    //此时用set呢,还是应该$memc->getResultCode()查询上次错误信息,使用add呢?
}
</code>
ログイン後にコピー
ログイン後にコピー

set 和 add 的使用需要有意区分么,那我岂不是一律使用set就可以了么

回复内容:

<code>$sql = "SELECT * FROM typecho_contents WHERE cid='1' ";
$memc_key = md5($sql);

$memc= new Memcached();
$memc->addServer('127.0.0.1', '11211');

$memc_res = $memc->get($memc_key);

if($memc_res){
    echo $memc_res;
}else{
    //数据库查询得到$str
    $memc_res = $memc->set(memc_key,$str);
    //此时用set呢,还是应该$memc->getResultCode()查询上次错误信息,使用add呢?
}
</code>
ログイン後にコピー
ログイン後にコピー

set 和 add 的使用需要有意区分么,那我岂不是一律使用set就可以了么

http://serverfault.com/questions/291681/add-vs-set-in-memcached
简单的来说就是如果你不在意是否有这个key的话就直接用set吧。

setadd最显而易见的区别就是:
如果key是已经存在的set是更新原来的数据,而add则不会。

set偏向于赋值更新吧,add偏向于添加数据组。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート