我目前正在修改我们当前在Drupal 6上运行的网站,我建议将其移至自定义CMS,我将使用Laravel 4.1编写。
我计划了大部分内容,其中一个我似乎无法理解的主要问题是区域缓存。
地区背景
我们针对不同的地区有不同的内容,我们在当前网站上做的是将一个GET变量附加到URL:example.tld / pageName /?region = 123
这很好,除了问题是缓存,我们当前的缓存系统很糟糕,即使使用它也很慢而且毫无意义(从数据库驱动开始)。我想将输出缓存到磁盘,这意味着我可以使用memcached
或类似的东西(甚至是内置的Laravel缓存方法)。
我们正在缓存
目前,我们正在某些网页上缓存区域特定内容。例如:
Page 123 Region A
将有不同的内容
Page 123 Region B
我们根据区域缓存内容
所以我有两个主要问题:
谢谢!
答案 0 :(得分:2)
如果您将其区域存储在用户的会话中,则可以直接在控制器中捕获该区域,以便“自动”加载正确的区域数据。例如,
Session::put('region', 'A');
$cached = Cache::get('Region:' . Session::get('region') . ':123);
请注意,您可以通过多种方式在您的网站上执行缓存。请记住,使用Memcached / Redis意味着您将此数据存储在主内存中。因此,虽然速度非常快,但可能会少得多。我提出这个问题是因为你在帖子中提到“缓存到磁盘”然后提到了memcached。
已编辑我的缓存:: put方法调用不正确。