当前位置: 首页>>代码示例>>PHP>>正文


PHP Memcached::setByKey方法代码示例

本文整理汇总了PHP中Memcached::setByKey方法的典型用法代码示例。如果您正苦于以下问题:PHP Memcached::setByKey方法的具体用法?PHP Memcached::setByKey怎么用?PHP Memcached::setByKey使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Memcached的用法示例。


在下文中一共展示了Memcached::setByKey方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: store

 /**
  *
  * @param string $key
  * @param mixed $value
  * @param array $options
  * @return bool
  */
 public function store($key, $value, $options = array())
 {
     if (!$this->online()) {
         return Gdn_Cache::CACHEOP_FAILURE;
     }
     $finalOptions = array_merge($this->StoreDefaults, $options);
     $expiry = (int) val(Gdn_Cache::FEATURE_EXPIRY, $finalOptions, 0);
     $useLocal = (bool) $finalOptions[Gdn_Cache::FEATURE_LOCAL];
     $realKey = $this->makeKey($key, $finalOptions);
     // Should auto sharding be enabled?
     $keySize = strlen(serialize($value));
     if ($this->hasFeature(Gdn_Cache::FEATURE_SHARD) && $keySize > Gdn_Cache::CACHE_SHARD_AUTO_SIZE) {
         $finalOptions[Gdn_Cache::FEATURE_SHARD] = true;
     }
     // Sharding, write real keys and manifest
     if (array_key_exists(Gdn_Cache::FEATURE_SHARD, $finalOptions) && ($shards = $finalOptions[Gdn_Cache::FEATURE_SHARD])) {
         $manifest = $this->shard($realKey, $value, $keySize, $shards);
         $shards = $manifest->shards;
         unset($manifest->shards);
         // Attempt to write manifest
         $added = $this->memcache->set($realKey, $manifest, $expiry);
         // Check if things went ok
         $ok = $this->lastAction($realKey);
         if (!$ok || !$added) {
             return Gdn_Cache::CACHEOP_FAILURE;
         }
         // Write real keys
         foreach ($shards as $shard) {
             $this->memcache->setByKey($shard['server'], $shard['key'], $shard['data'], $expiry);
         }
         unset($shards);
         if ($useLocal) {
             $this->localSet($realKey, $value);
         }
         return Gdn_Cache::CACHEOP_SUCCESS;
     }
     // Unsharded, write key
     $stored = $this->memcache->set($realKey, $value, $expiry);
     // Check if things went ok
     $ok = $this->lastAction($realKey);
     if (!$ok) {
         return Gdn_Cache::CACHEOP_FAILURE;
     }
     if ($stored) {
         if ($useLocal) {
             $this->localSet($realKey, $value);
         }
         return Gdn_Cache::CACHEOP_SUCCESS;
     }
     return Gdn_Cache::CACHEOP_FAILURE;
 }
开发者ID:mcnasby,项目名称:datto-vanilla,代码行数:58,代码来源:class.memcached.php

示例2: set

 /**
  * Sets a value in cache.
  *
  * The value is set whether or not this key already exists in memcached.
  *
  * @link http://www.php.net/manual/en/memcached.set.php
  *
  * @param   string      $key        The key under which to store the value.
  * @param   mixed       $value      The value to store.
  * @param   string      $group      The group value appended to the $key.
  * @param   int         $expiration The expiration time, defaults to 0.
  * @param   string      $server_key The key identifying the server to store the value on.
  * @param   bool        $byKey      True to store in internal cache by key; false to not store by key
  * @return  bool                    Returns TRUE on success or FALSE on failure.
  */
 public function set($key, $value, $group = 'default', $expiration = 0, $server_key = '', $byKey = false)
 {
     $derived_key = $this->buildKey($key, $group);
     $expiration = $this->sanitize_expiration($expiration);
     // If group is a non-Memcached group, save to runtime cache, not Memcached
     if (in_array($group, $this->no_mc_groups)) {
         $this->add_to_internal_cache($derived_key, $value);
         return true;
     }
     // Save to Memcached
     if (false !== $byKey) {
         $result = $this->mc->setByKey($server_key, $derived_key, $value, $expiration);
     } else {
         $result = $this->mc->set($derived_key, $value, $expiration);
     }
     // Store in runtime cache if add was successful
     if (Memcached::RES_SUCCESS === $this->getResultCode()) {
         $this->add_to_internal_cache($derived_key, $value);
     }
     return $result;
 }
开发者ID:Ramoonus,项目名称:wp-spider-cache,代码行数:36,代码来源:class-object-cache.php

示例3: setValueByKey

 public function setValueByKey($key, $value)
 {
     return parent::setByKey($this->server, $key, $value, $this->experation);
 }
开发者ID:jkhaled,项目名称:bms,代码行数:4,代码来源:MyCache.php

示例4: setByKey

 /**
  * @inheritdoc
  */
 public function setByKey($server_key, $key, $value, $expiration = null)
 {
     $key = $this->prefix . $key;
     return parent::setByKey($server_key, $key, $value, $expiration);
 }
开发者ID:jonafrank,项目名称:memcached-manager,代码行数:8,代码来源:MemcachedHandler.php


注:本文中的Memcached::setByKey方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。