代码之家  ›  专栏  ›  技术社区  ›  Patrick Desjardins

ActiveRecord模式和缓存?

  •  1
  • Patrick Desjardins  · 技术社区  · 14 年前

    我有一个用ActivePattern组织的项目类(例如:myObject->load()),但是现在我们需要实现一些缓存,并且缓存存在问题。

    为了使其简单化,每个对象中的load()方法调用dal my给出$this引用,dal填充所有值的对象。它起作用了。但是当我们添加一些缓存时,未序列化的对象是一个“新”对象,DAL不能将其发送回对象,因为我们有一个对需要加载的对象的引用。唯一的解决方法是将缓存代码放入每个对象的load()中,并循环缓存对象中的所有属性,以获取值并将其设置回实际对象。

    有没有更好的方法来使用ActiveRecord模式的缓存?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Christian South    14 年前

    如果我从你的评论中正确理解,你的问题就是要取代这个。我要做的是在活动记录类上创建一个静态的“fetch”方法,该方法将检查缓存、返回(如果可用),如果不返回该类的新实例。这将使您绕过必须替换它的问题,而唯一需要更改的是您加载活动记录类的方式。