我正在开发高流量/高搜索量的网络。现在我们只是在操作的开始时进行重定向,但它有点慢。
在路由之前是否有办法挂钩并在那里进行重定向(我们已经进行了Redis查询以了解网址是否为301)?也许就是在之前甚至是Symfony。
答案 0 :(得分:0)
Sure you can, create a listener with a priority higher than 32 (which is the router listener's priority) and then redirect from there:
$response = new RedirectResponse($url);
$event->setResponse($response);
答案 1 :(得分:0)
你确实需要提供更多信息,我看到了几件事。
首先,请描述您的应用程序,有一个非常好的工具叫做Blackfire,由制造Symfony的同一家公司制作。有了这个,你就可以精确地确定性能瓶颈的位置,没有它,我们只能猜测一下。
可能是查询花了太长时间,如果是,那么优化它。
可能是网络延迟吗?也许你有一个服务器集群,其中用户进行DNS查找,访问服务器是美国,但随后你将他重定向到另一个站点,导致对欧洲服务器或类似的服务器进行不同的DNS查找。
最后,它可能是Symfony和Php本身吗?在这种情况下,我建议您将网络服务器直接连接到Redis,例如Nginx或Varnish,例如
https://github.com/openresty/redis2-nginx-module#readme
和