当前位置:  开发笔记 > 编程语言 > 正文

如何清除Class :: DBI的内部缓存?

如何解决《如何清除Class::DBI的内部缓存?》经验,为你挑选了1个好方法。

我正在为现有的数据库结构开发一个大型的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",似乎有时会清除索引.我希望这两个中的一个能够工作,但由于某些原因它不会每次都这样做.更像是5次中的1次.

清除这个的任何建议?



1> John Siracus..:

Class :: DBI wiki上的" 常见问题 "页面有关于此主题的部分.最简单的解决方案是完全禁用活动对象索引:

$Class::DBI::Weaken_Is_Available = 0;

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有