是否有使用 Symfony/Cache 组件的文档或示例?

Is there any documentation or example of using for Symfony/Cache component?

在 symfony 3.1 中我们得到了缓存组件 (https://github.com/symfony/cache)

我找不到该组件的任何文档或示例,因为它是新组件。

任何人都可以写一个简单的例子来说明如何在 symfony 3.1 中使用这个组件

缓存组件主要在 Symfony 内部用于序列化程序等

但最新的 FrameworkBundle 已经支持通过 config.yml 创建您自己的缓存池。 目前似乎没有关于此的任何文档,所以我自己研究了一下:

在 config.yml 中您可以创建 f.e。新缓存

framework:
...
    cache:
        default_redis_provider: redis://%cache.redis_host%:%cache.redis_port%/%cache:redis_db%
        pools:
           my_cache:
             adapter: cache.adapter.redis
             public: true
             default_lifetime: 1200
             provider: cache.default_redis_provider 

当然你也可以自己定义服务。

然后在您的代码中,您可以使用创建的缓存池来创建 CacheItems 并缓存它们:

$cacheItem = $this->get('my_cache')->getItem($cacheKey = $item->getId());
if(!$cacheItem->isHit()){
   $cacheItem->set($item);
   $cacheItem->expiresAfter(null); //this needs to be called to use defaultTime
   $this->get('my_cache')->save($cacheItem);
}

如果缓存中不存在 Psr-6 CacheItem,则由池创建。
它将获得它首先被查询的密钥。然后可以设置一个值和过期时间,保存到缓存中。

有关 PSR-6 缓存的用途和方式的更多信息,请参见此处:http://www.php-fig.org/psr/psr-6/

该组件的 symfony 文档(注意:仅适用于该组件,不适用于框架集成)仍然是一个 PR,但您可以在这里预先检查它: https://github.com/symfony/symfony-docs/pull/6515