我在我的配置文件中启用了第二级缓存:
orm:
auto_generate_proxy_classes: "%kernel.debug%"
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
second_level_cache:
region_cache_driver:
type: array
host: ~
port: ~
instance_class: ~
class: ~
id: ~
namespace: ~
cache_provider: ~
region_lock_lifetime: 600
log_enabled: true
region_lifetime: 0
enabled: true
Run Code Online (Sandbox Code Playgroud)
在我需要缓存的实体中,添加新的注释(缓存),如:
/**
* Entity
*
* @ORM\Table(name="entity")
* @ORM\Cache(usage="READ_ONLY", region="entity_cache")
*/
class Entity
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
}
Run Code Online (Sandbox Code Playgroud)
那么,首先什么是缓存命中、缓存未命中和缓存放置?其次,现在发生了什么以及如何缓存我的实体?