Cet article présente principalement la méthode d'utilisation de memcache dans le framework YII, et analyse la configuration, l'utilisation et les précautions d'utilisation de memcache dans le framework Yii sous forme d'exemples. Les amis dans le besoin peuvent se référer à ce qui suit
<.>Les exemples de cet article sont expliqués. Apprenez à utiliser memcache dans le framework YII. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants : Memcache peut être facilement utilisé dans yii1. Configuration
Ajouter la configuration du cache aux composants de main.phparray( 'components'=>array( 'cache'=>array( 'class'=>'CMemCache', 'servers'=>array( array( 'host'=>'server1', 'port'=>11211, 'weight'=>60, ), array( 'host'=>'server2', 'port'=>11211, 'weight'=>40, ), ), ), ), )
2) Lorsque plusieurs interrogations de cache doivent être utilisées, chaque cache peut se voir attribuer un poids. S'il n'y a qu'un seul cache, vous pouvez le faire sans ajouter cette configuration.
2. La méthode d'appel de memcache en utilisant
est également très simple$key = 'people'; $value = json_encode(array('name'=>'ball', 'age'=>'male')); $expire = 10; yii::app()->cache->set($key, $value, $expire); Yii::app()->cache->get($key); Yii::app()->cache->delete($key);
3. Problèmes
Lorsque vous utilisez uniformément l'extension de yii pour accéder à Memcache, il n'y aura aucun problème. Mais en réalité, il y aura une situation : vous utilisez Yii pour développer le backend, mais les camarades de classe de la réception n'utilisent pas Yii, mais utilisent l'API native Memcache pour exploiter les données. Vous rencontrerez quelques problèmes à ce moment-là. Comme le montre le deuxième exemple ci-dessus, vous constaterez que si vous utilisez l'API native de Memcache, Memcache::get, et que vous utilisez des personnes comme clé, vous ne pourrez pas obtenir la valeur ! La raison est que l'ensemble de yii gère à la fois la clé et la valeur. Par défaut, la clé est préfixée et transformée en md5, et la valeur est sérialisée(). Il n'est pas étonnant que vous ne puissiez pas obtenir la valeur en utilisant Memcache::get('people'). Solution : Une méthode simple peut être configurée pour que l'extension Memcache de Yii n'effectue pas de "petites actions" supplémentaires.'cache' => array( 'class' => 'system.caching.CMemCache', 'servers' => array( array('host' => '127.0.0.1', 'port' => 11211)), 'keyPrefix' => '', 'hashKey' => false, 'serializer' => false)
keyPrefix : Le préfixe de la clé, généré par le CApplication::getId() méthode par défaut.
hashKey : effectue une opération de hachage sur la clé, md5 par défaut
serializer : méthode de sérialisation de la valeur, sérialisation par défaut
4. Plus d'appels de méthode memcache
Dans l'extension yii, il n'y a que les opérations les plus courantes de memcache, et il n'y a pas de décrémentation similaire au memcache natif et à l'incrémentation et à d'autres opérations. Et si vous souhaitez utiliser ces méthodes ? Vous pouvez utiliser la méthode getMemCache dans l'extension pour obtenir l'objet memcache natif, puis utiliser la méthode native.$mem = Yii::app()->cache->getMemCache(); $res = $mem->decrement($key);
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!