在PHP和OOP中使用Memcache

我有一个非常重的类定义,它依赖于MySQL(即有时可能很慢).

我已经成功安装并开始在PHP中使用Memcache库.这使我无需重新查询即可存储整个对象.

但是,我扩展了类以自动更新数据库中的所有更改.我使用__get和__set跟踪更改,然后更新__destruct

我无法弄清楚如何测试的是Memcache删除对象时是否调用了__destruct.

任何人都知道一个事实/关于如何测试它的建议?

解决方法:

不,内存缓存不会破坏对象.您的对象不断__sleep()和__wakeup().但是由于PHP不是破坏或丢失对象的一种,所以永远不会调用析构函数.您的缓存库有一个外部机会,在过期后将其从内存缓存中删除,然后销毁该对象,从而调用__destruct()..但这取决于实现.

上一篇:DDD和C#-限制对子实体的访问


下一篇:__destruct如何处理$_SESSION中的对象