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


PHP CacheItemInterface::getKey方法代码示例

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


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

示例1: storeItemInCache

 /**
  * {@inheritdoc}
  */
 protected function storeItemInCache(CacheItemInterface $item, $ttl)
 {
     $object = ['_id' => $item->getKey(), 'data' => serialize($item->get())];
     if ($ttl) {
         $object['expiresAt'] = time() + $ttl;
     }
     $this->collection->updateOne(['_id' => $item->getKey()], ['$set' => $object], ['upsert' => true]);
     return true;
 }
开发者ID:php-cache,项目名称:cache,代码行数:12,代码来源:MongoDBCachePool.php

示例2: save

 /**
  * {@inheritdoc}
  */
 public function save(ItemInterface $item)
 {
     $ttl = $item->getTtlInSecond();
     $this->_tags = $item->getTags();
     $item->setHit(true);
     $success = $this->cache_adapter->save($item->get(), $item->getKey(), $this->_tags, is_null($ttl) ? 0 : $ttl);
     $item->setHit($success);
     return $this;
 }
开发者ID:MacFJA,项目名称:apix-cache,代码行数:12,代码来源:TaggablePool.php

示例3: storeItemInCache

 /**
  * {@inheritdoc}
  */
 protected function storeItemInCache(CacheItemInterface $item, $ttl)
 {
     $key = $this->getHierarchyKey($item->getKey());
     $data = serialize([true, $item->get(), $item->getTags()]);
     if ($ttl === null || $ttl === 0) {
         return $this->cache->set($key, $data);
     }
     return $this->cache->setex($key, $ttl, $data);
 }
开发者ID:php-cache,项目名称:redis-adapter,代码行数:12,代码来源:RedisCachePool.php

示例4: save

 /**
  * {@inheritdoc}
  */
 public function save($key, CacheEntry $data)
 {
     if ($this->lastItem && $this->lastItem->getKey() == $key) {
         $item = $this->lastItem;
     } else {
         $item = $this->cachePool->getItem($key);
     }
     $this->lastItem = null;
     $item->set($data);
     $ttl = $data->getTTL();
     if ($ttl === 0) {
         // No expiration
         $item->expiresAfter(null);
     } else {
         $item->expiresAfter($ttl);
     }
     return $this->cachePool->save($item);
 }
开发者ID:kevinrob,项目名称:guzzle-cache-middleware,代码行数:21,代码来源:Psr6CacheStorage.php

示例5: save

 public function save(CacheItemInterface $item)
 {
     call_user_func(\Closure::bind(function () use($item) {
         $this->values[$item->getKey()] = $item->get();
         $this->warmUp($this->values);
         $this->values = eval(substr(file_get_contents($this->file), 6));
     }, $this, PhpArrayAdapter::class));
     return true;
 }
开发者ID:ayoah,项目名称:symfony,代码行数:9,代码来源:PhpArrayAdapterTest.php

示例6: storeItemInCache

 /**
  * {@inheritdoc}
  */
 protected function storeItemInCache(CacheItemInterface $item, $ttl)
 {
     if ($this->skipIfCli()) {
         return false;
     }
     if ($ttl < 0) {
         return false;
     }
     return apcu_store($item->getKey(), $item->get(), $ttl);
 }
开发者ID:php-cache,项目名称:apcu-adapter,代码行数:13,代码来源:ApcuCachePool.php

示例7: storeItemInCache

 /**
  * {@inheritdoc}
  */
 protected function storeItemInCache(CacheItemInterface $item, $ttl)
 {
     if ($ttl < 0) {
         return false;
     }
     $ttl = null === $ttl ? 0 : $ttl / 60;
     if (null === ($value = $item->get())) {
         $value = self::NULL_VALUE;
     }
     $this->store->put($item->getKey(), $value, $ttl);
     return true;
 }
开发者ID:florianv,项目名称:laravel-swap,代码行数:15,代码来源:LaravelStoreCachePool.php

示例8: storeItemInCache

 /**
  * {@inheritdoc}
  * @throws \InvalidArgumentException
  * @throws \League\Flysystem\FileNotFoundException
  * @throws \League\Flysystem\FileExistsException
  */
 protected function storeItemInCache(CacheItemInterface $item, $ttl)
 {
     $file = $this->getFilePath($item->getKey());
     if ($this->filesystem->has($file)) {
         $this->filesystem->delete($file);
     }
     $tags = [];
     if ($item instanceof TaggableItemInterface) {
         $tags = $item->getTags();
     }
     return $this->filesystem->write($file, serialize([$ttl === null ? null : time() + $ttl, $item->get(), $tags]));
 }
开发者ID:swayok,项目名称:alternative-laravel-cache,代码行数:18,代码来源:HierarchialFilesystemCachePool.php

示例9: storeItemInCache

 /**
  * {@inheritdoc}
  */
 protected function storeItemInCache(CacheItemInterface $item, $ttl)
 {
     if ($ttl === null) {
         $ttl = 0;
     } elseif ($ttl < 0) {
         return false;
     } elseif ($ttl > 86400 * 30) {
         // Any time higher than 30 days is interpreted as a unix timestamp date.
         // https://github.com/memcached/memcached/wiki/Programming#expiration
         $ttl = time() + $ttl;
     }
     $key = $this->getHierarchyKey($item->getKey());
     return $this->cache->set($key, serialize([true, $item->get(), []]), $ttl);
 }
开发者ID:php-cache,项目名称:cache,代码行数:17,代码来源:MemcachedCachePool.php

示例10: saveDeferred

 /**
  * {@inheritdoc}
  */
 public function saveDeferred(CacheItemInterface $item)
 {
     if (null === $this->values) {
         $this->initialize();
     }
     return !isset($this->values[$item->getKey()]) && $this->fallbackPool->saveDeferred($item);
 }
开发者ID:joelwurtz,项目名称:symfony,代码行数:10,代码来源:PhpArrayAdapter.php

示例11: save

 /**
  * @param CacheItemInterface $item
  * @return bool|void
  */
 public function save(CacheItemInterface $item)
 {
     if (!$item instanceof CacheItem) {
         throw new InvalidArgumentException('The cache item must be an implementation of \\ByJG\\Cache\\Psr\\CacheItem');
     }
     if ($item->getExpiresInSecs() < 1) {
         throw new InvalidArgumentException('Object has expired!');
     }
     $this->_cacheEngine->set($item->getKey(), $item->get(), $item->getExpiresInSecs());
     $this->addElementToBuffer($item);
     return true;
 }
开发者ID:byjg,项目名称:cache-engine-php,代码行数:16,代码来源:CachePool.php

示例12: saveDeferred

 /**
  * {@inheritdoc}
  */
 public function saveDeferred(CacheItemInterface $item)
 {
     if (!$item instanceof CacheItem) {
         return false;
     }
     $this->deferred[$item->getKey()] = $item;
     return true;
 }
开发者ID:alekitto,项目名称:symfony,代码行数:11,代码来源:AbstractAdapter.php

示例13: saveDeferred

 /**
  * {@inheritdoc}
  */
 public function saveDeferred(CacheItemInterface $item)
 {
     if (!$item instanceof Item) {
         throw new InvalidArgumentException('MatthiasMullie\\Scrapbook\\Psr6\\Pool can only save
             MatthiasMullie\\Scrapbook\\Psr6\\Item objects');
     }
     $this->deferred[$item->getKey()] = $item;
     // let's pretend that this actually comes from cache (we'll store it
     // there soon), unless if it's already expired (in which case it will
     // never reach cache...)
     $item->overrideIsHit(!$item->isExpired());
     return true;
 }
开发者ID:matthiasmullie,项目名称:scrapbook,代码行数:16,代码来源:Pool.php

示例14: save

 public function save(CacheItemInterface $item)
 {
     $this->items_[$item->getKey()] = $item;
     return $this;
 }
开发者ID:rindeal,项目名称:allegro-client,代码行数:5,代码来源:Pool.php

示例15: save

 /**
  * Persists a cache item immediately.
  *
  * @param CacheItemInterface $item
  *   The cache item to save.
  *
  * @return bool
  *   True if the item was successfully persisted. False if there was an error.
  *
  * @throws InvalidArgumentException
  */
 public function save(CacheItemInterface $item)
 {
     $expirationTime = null;
     if ($item instanceof ExtractableCacheLifetimeInterface) {
         $expirationTime = $item->getCacheLifetime();
     }
     return $this->cacheFrontend->save(serialize($item instanceof ExtractableCacheValueInterface ? $item->getCacheValue() : $item->get()), $this->prepareKey($item->getKey()), $this->tags, $expirationTime);
 }
开发者ID:ecomdev,项目名称:magento-psr6-bridge,代码行数:19,代码来源:CacheItemPool.php


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