[英]symfony2 -How to retrieve data from database globally in every page
[英]Symfony2 storing data in session versus database calls every page load
我有一个基于Symfony 2构建的网站,该网站基本上由各种应用程序组成。 选择一个应用程序后,我将该应用程序的ID存储在会话变量中。 然后,对于该应用程序的每个页面加载,都会查询数据库以获取该应用程序的详细信息。
仅将应用程序详细信息存储在会话变量中,而不是仅将应用程序ID存储在会话变量中,会更有效吗?
以这种方式存储应用程序详细信息的不利之处是什么,我是否需要担心任何安全风险?
非常感谢。
我不建议完全在会话中存储应用程序编号。 由于所有请求都变为private
因此您的响应将取决于SESSION值,因此您将无法使用该方法使用共享HTTP
缓存http://symfony.com/doc/current/book/http_cache.html#public-vs-private-respons 。
如果将应用程序编号移至url或标头等,则将有大量空间用于优化。
将数据库用于获取应用程序信息是一种很好的做法,因为您可以为该查询启用主义的结果缓存,以使它们完全不影响应用程序性能。 http://doctrine-orm.readthedocs.org/en/latest/reference/caching.html#result-cache
使用会话存储app_id是不好的做法,但是使用会话存储所有应用程序信息的情况更糟,因为session_ids的数量很多,并且您将存储很多冗余信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.