一个sql请求2个模块。的Joomla

时间:2013-03-11 13:22:20

标签: php mysql sql joomla

我有两个模块,两个模块都使用类似的SQL值。例如,两者都获得用户头像,名称,注册日期等。是否可以将一个模块SQL请求加载到另一个模块?

2 个答案:

答案 0 :(得分:1)

这是可能的。通常的方法是将常用SQL代码放入辅助类中。调用此帮助程序类的第一个模块将实际运行查询,然后将结果存储在静态变量中。对该模块的第二次调用将只返回该静态变量的内容。所有你需要确保的是第二个电话实际上要求同样的事情(例如,要求相同的头像,而不是另一个)。

这个系统在Joomla本身使用。请注意,缓存大对象会增加内存需求,您应该将其限制为几个记录和列,并避免以这种方式缓存TEXT或BLOB。

答案 1 :(得分:0)

这不是Hazzit考虑的替代品,只是一个扩展:所以你仍然会使用一个共同的帮助。

在您的模块中,您可以构建缓存键:因此,如果您为两个模块构建相同的缓存键(基于用户ID和自定义字符串),Joomla将不仅在整个请求中缓存它,而是在缓存过期之前

另外,如果查询拼写相同,它们也会被mysql缓存而不会运行两次。