Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Caching Symfony2 ACL缓存_Caching_Symfony_Acl - Fatal编程技术网

Caching Symfony2 ACL缓存

Caching Symfony2 ACL缓存,caching,symfony,acl,Caching,Symfony,Acl,有没有关于如何在Symfony2中缓存ACL查询的示例或更好的文档 我发现: 但是我不知道如何在我的支票上使用这个 我已设法缓存对象身份。这有点帮助,但不多 在深入研究security*.xml文件之后,我对config.yml进行了以下修改: doctrine: orm: result_cache_driver: type: apc security: acl: cache: id: s

有没有关于如何在Symfony2中缓存ACL查询的示例或更好的文档

我发现:


但是我不知道如何在我的支票上使用这个

我已设法缓存对象身份。这有点帮助,但不多

在深入研究security*.xml文件之后,我对config.yml进行了以下修改:

doctrine:
    orm:
        result_cache_driver:
            type: apc

security:
    acl:
        cache:
            id:     security.acl.cache.doctrine
            prefix: my_acl_prefix_
  • 我已将缓存id(服务id)添加到ACL配置中
  • 我已启用条令结果缓存
config.yml:

doctrine:
    orm:
        result_cache_driver:
            type: apc

security:
    acl:
        cache:
            id:     security.acl.cache.doctrine
            prefix: my_acl_prefix_
这将只启用ObjectIdentity的缓存,但在调用
Symfony\Component\Security\Acl\Dbal\AclProvider::getAncestorIds()
时会发生许多其他查询。该方法直接执行SQL查询,不使用缓存。在2.2和2.3中,方法中有一条注释,说明:

            // FIXME: skip ancestors which are cached
就不使用结果缓存而言,该类中的其他两个方法也是如此


我想通过实现您自己的AclProvider并注入实体管理器的结果缓存,您也可以缓存这些查询

嗯,这是一个有趣的问题。调查。。。