1
我在一个项目中使用ActivePattern组织的类(例如:myObject-> Load()),但现在我们需要实现一些缓存和缓存有问题。ActiveRecord模式和缓存?
为了简单起见,每个对象中的Load()方法调用DAL,我给出$ this引用,DAL填充所有值的对象。有用。但是,当我们添加一些缓存时,未序列化的对象是一个“新”对象,并且DAL无法将其发送回对象,因为我们有需要加载的对象的引用。唯一的解决方法是将缓存代码放入每个对象的Load()中,并将缓存对象中的所有属性循环获取值并将其设置回实际对象。
有没有更好的方式来使用ActiveRecord模式缓存?
我很努力去理解 - 你想要缓存什么?你能给出一个你现在做什么的代码示例吗? – spronkey 2010-03-07 21:55:42
我想缓存$ myObject。如果我做$ myObject-> Load(),一旦从数据库加载,我可以轻松地缓存它,因为在Load()中,我传递给了DAL myObject引用并加载了它。我可以将它保存到缓存(serialize($ this))。问题是什么时候Load()稍后的时候......它发现它在缓存中,它返回一个新的对象,但是我在对象中,而我不能这样做$ this = $ objectUnserializedFromCache;你懂了? – 2010-03-07 22:01:12