【发布时间】:2010-09-07 07:42:36
【问题描述】:
我目前正在为现有的数据库结构进行 Class::DBI 的大型实现,并且遇到了从 Class::DBI 清除缓存的问题。这是一个 mod_perl 实现,所以一个类的实例在它被访问的时间之间可能很旧。 从手册页中我发现了两个选项:
Music::DBI->clear_object_index();
还有:
Music::Artist->purge_object_index_every(2000);
现在,当我将 clear_object_index() 添加到 DESTROY 方法时,它似乎可以运行,但实际上并没有清空缓存。我可以手动更改数据库,重新运行请求,它仍然是旧版本。 purge_object_index_every 表示它每 n 个请求清除一次索引。将此设置为“1”或“0”,似乎可以清除索引......有时。我希望这两个中的一个可以工作,但由于某种原因,它并不是每次都这样做。更像是五分之一。
对于清除这个有什么建议吗?
【问题讨论】: