Php zend framework中的内存中脚本缓存后端
我正在寻找内存中脚本缓存的解决方案,使用Php zend framework中的内存中脚本缓存后端,php,zend-framework,zend-cache,Php,Zend Framework,Zend Cache,我正在寻找内存中脚本缓存的解决方案,使用Zend_缓存和Zend框架 在我们的应用程序中有一些情况,为了显示一个包含100个元素的表,逻辑如下所示: 从内容表中获取100项(单个查询) 对于每个项目,从db/memcache后端获取创建者用户和批准内容的用户(通常通过for循环完成) 在大多数情况下,批准内容的用户是2或3个管理员用户,但是脚本多次调用数据库/memecache。更糟糕的是,用户模型必须查询3个不同的表才能知道用户属于哪个角色,以及他也属于哪个社区 总之,要显示一个包含100
Zend_缓存
和Zend框架
在我们的应用程序中有一些情况,为了显示一个包含100个元素的表,逻辑如下所示:
- 从内容表中获取100项(单个查询)
- 对于每个项目,从db/memcache后端获取创建者用户和批准内容的用户(通常通过for循环完成)
- 不在循环中查询用户表。循环100个项目,获取所有用户ID,并在单个查询中获取所有用户。我不确定这是否是一个好的解决方案,因为这意味着我必须编写sql连接,导致模型函数返回一个非
,这是我们经常使用的Zend\u Db\u Table\u行
- 另一种解决方案是在第一次加载时将用户对象保存到内存缓存数组中,下次循环尝试读取用户id时,它将首先在这个“特殊”内存缓存中查找。我正在考虑使用
作为缓存后端,类似于这里的解决方案:Zend_Registry
因为Zend Framework 2有一个实现:您不能在一个查询中完成所有这一切吗?获取记录,谁创建了记录,谁批准了记录?如果我在Zend_Db_表中使用联接,fetchAll()函数将不会返回结果,因为表的行类模型会显示一些代码,让我们看看。因为从你的帖子我看不出你为什么不能那样做。很容易加入Zend_Db,结果仍然是一个表行。我/我们可能缺少一些东西,这就是为什么你应该发布代码的原因。谢谢链接。几天前,我发现了一个类似于此实现的类,并添加了单元测试、文档,并在github中发布了它。Aporat,我再也找不到存储库了。你把它拿走了吗?