Maison  >  Article  >  développement back-end  >  Comment utiliser php pour déterminer si la clé/valeur Memcache existe

Comment utiliser php pour déterminer si la clé/valeur Memcache existe

jacklove
jackloveoriginal
2018-06-09 10:19:351480parcourir

1. Introduction à memcache

memcache est un ensemble de logiciels de cache distribués utilisés pour la mise en cache des données et le stockage des sessions de sites Web distribués, etc. . Utilisez key=>value pour stocker les données et prendre en charge le traitement du stockage par compression des données et le traitement de l'expiration des données.
value ne prend en charge que la chaîne. Si vous avez besoin d'autres formats, vous pouvez d'abord la convertir en json, puis l'enregistrer.

Utilisation :

<?php$m = new Memcache;$m->connect(&#39;localhost&#39;, 11211);$m->set(&#39;foo&#39;, 100); // 保存数据echo $m->get(&#39;foo&#39;); // 读取数据?>

Utilisez Memcache comme cache de données. Les étapes sont généralement
1. Déterminez si Memcache contient des données et, si c'est le cas, renvoyez-les. directement. Sinon, récupérez les données de la source de données.
2. Après avoir obtenu les données de la source de données, écrivez-les dans Memcache en tant que cache et attendez la prochaine requête.

2. Déterminer si les données Memcache existent

Juger si Memcache contient des données Généralement, les données sont obtenues via la méthode get et elles sont jugées en fonction. si les données sont fausses.

<?php$m = new Memcache;$m->connect(&#39;localhost&#39;, 11211);$m->set(&#39;foo&#39;, 100);if($m->get(&#39;foo&#39;)){    echo &#39;foo 存在<br>&#39;;
}else{    echo &#39;foo 不存在<br>&#39;;
}$m->delete(&#39;foo&#39;);if($m->get(&#39;foo&#39;)){    echo &#39;foo 存在<br>&#39;;
}else{    echo &#39;foo 不存在<br>&#39;;
}?>

Mais ce jugement n'est pas assez rigoureux. Si la valeur est fausse ou nulle, elle sera jugée comme inexistante. On peut juger si la donnée existe en jugeant si la donnée existe. la clé existe.

3. Déterminer si la clé memcache existe

<?php$m = new Memcache;$m->connect(&#39;localhost&#39;, 11211);// 正常值判断echo &#39;正常值判断:&#39;;$m->set(&#39;foo&#39;, 100);if(check_key_exists($m, &#39;foo&#39;)){    echo &#39;foo key存在<br>&#39;;
}else{    echo &#39;foo key不存在<br>&#39;;
}// false判断echo &#39;false判断:&#39;;$m->set(&#39;foo&#39;, false);if(check_key_exists($m, &#39;foo&#39;)){    echo &#39;foo key存在<br>&#39;;
}else{    echo &#39;foo key不存在<br>&#39;;
}// null判断echo &#39;null判断:&#39;;$m->set(&#39;foo&#39;, null);if(check_key_exists($m, &#39;foo&#39;)){    echo &#39;foo key存在<br>&#39;;
}else{    echo &#39;foo key不存在<br>&#39;;
}// 数据过期后判断,1秒后过期echo &#39;过期判断:&#39;;$m->set(&#39;foo&#39;, 100, 0, 1);
sleep(2);if(check_key_exists($m, &#39;foo&#39;)){    echo &#39;foo key存在<br>&#39;;
}else{    echo &#39;foo key不存在<br>&#39;;
}// delete后判断echo &#39;delete后判断:&#39;;$m->set(&#39;foo&#39;, 100);$m->delete(&#39;foo&#39;);if(check_key_exists($m, &#39;foo&#39;)){    echo &#39;foo key存在<br>&#39;;
}else{    echo &#39;foo key不存在<br>&#39;;
}/**
 * @param Obj      $m    memcache obj
 * @param String   $name key name
 * @return Boolean
 */function check_key_exists($m, $name){
    $data = $m->get($name);    return $data!==false;
}?>

Sortie :
Jugement de valeur normal : la clé foo existe
faux jugement : la clé foo existe
jugement nul : la clé foo existe
jugement d'expiration : la clé foo n'existe pas
jugement après suppression : la clé foo n'existe pas

Seule la clé est supprimée ou a expiré et est jugée inexistante. Dans d'autres cas, même si la valeur est nulle/fausse, elle existera.

Remarque : Si la valeur de value est false, le résultat obtenu en utilisant la méthode memcache get est ""chaîne vide, Étant donné que Memcache ne peut enregistrer que les données de chaîne, false est converti en chaîne vide lors de l'enregistrement.

Cet article explique comment utiliser PHP pour déterminer si la clé/valeur Memcache existe. Pour plus de contenu connexe, veuillez prêter attention au site Web chinois de PHP.

Recommandations associées :

Comment laisser PHP envoyer des données personnalisées via l'en-tête

Comment utiliser inet_aton et inet_ntoa via MySQL Traitement des données d'adresse IP

Contenu pertinent des données php json à l'aide de la sortie de compression gzip

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn