是否有使用 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
在 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