我有一个非常沉重的类定义,它依赖于MySQL(即有时可能很慢)。
我已成功安装并开始在PHP中使用Memcache库。这允许我存储整个对象而无需重新查询它们。
但是,我已经将我的类扩展为自动更新任何更改的数据库。我使用__get
和__set
来跟踪更改,然后更新__destruct
我无法弄清楚如何测试是否在Memcache删除对象时调用了__destruct
。
任何人都知道某个事实/有关于如何测试它的建议吗?
答案 0 :(得分:3)
不,memcache不会破坏对象。你的对象经常是__sleep()
和__wakeup()
。但是,由于PHP不是破坏或丢失对象的,因此从不调用析构函数。你的缓存库有一个外部机会,它会在memcache过期后从memcache中删除它,然后销毁对象,从而调用__destruct()
..但这取决于实现。