Symfony:缓存POST方法

Symfony:缓存POST方法,post,caching,symfony1,Post,Caching,Symfony1,我读过Symfony的教程,它说POST请求永远不会被缓存。我是否可以覆盖此选项,以便缓存POST请求的结果页面?希望您知道,在大多数情况下,缓存POST请求不是您想要的;) 下面是一些提示 缓存过滤器 缓存过滤器负责缓存响应。默认情况下,symfony使用sfCacheFilter类,您可以在应用程序的filters.yml文件中对其进行更改 查看缓存管理器 sfCacheFilter没什么作用。它使用视图缓存管理器来完成所有工作 默认实现(sfViewCacheManager类)有一个isC

我读过Symfony的教程,它说POST请求永远不会被缓存。我是否可以覆盖此选项,以便缓存POST请求的结果页面?

希望您知道,在大多数情况下,缓存POST请求不是您想要的;)

下面是一些提示

缓存过滤器

缓存过滤器负责缓存响应。默认情况下,symfony使用sfCacheFilter类,您可以在应用程序的filters.yml文件中对其进行更改

查看缓存管理器

sfCacheFilter没什么作用。它使用视图缓存管理器来完成所有工作

默认实现(sfViewCacheManager类)有一个isCachable()方法。您可以从这里开始,因为对于不是GET请求的所有内容,它都返回false


视图缓存管理器类可以在factories.yml文件中更改。您可以通过扩展SFViewCacheManager并重载其某些行为来编写自己的类。

希望您知道,在大多数情况下,缓存POST请求并不是您想要的;)

下面是一些提示

缓存过滤器

缓存过滤器负责缓存响应。默认情况下,symfony使用sfCacheFilter类,您可以在应用程序的filters.yml文件中对其进行更改

查看缓存管理器

sfCacheFilter没什么作用。它使用视图缓存管理器来完成所有工作

默认实现(sfViewCacheManager类)有一个isCachable()方法。您可以从这里开始,因为对于不是GET请求的所有内容,它都返回false


视图缓存管理器类可以在factories.yml文件中更改。您可以通过扩展SFViewCacheManager并重载其某些行为来编写自己的类。

kuba的回答在技术上是正确的,但您确定要缓存帖子吗?如果可能,最好重定向用户,在用户上存储一些值。

kuba的回答在技术上是正确的,但您确定要缓存帖子吗?如果可能,最好重定向用户,在用户上存储一些值。

同意。你应该试着把帖子改成GET,而不是修改框架。你应该试着把帖子改成GET,而不是修改框架。