1

RDBOC 对象是否通过不同的进程缓存?我想在 mod-perl 中运行它,它会影响一些事情,即使它主要用于不会改变(很多)的事情。

此外,引用 RDBOC 的关系是否应该直观地使用缓存?

4

1 回答 1

1

Rose::DB::Object::Cached在普通旧(非共享)内存中缓存对象。在 mod_perl 下,这意味着每个 apache 进程都有自己的缓存。但是,您可以在服务器启动时缓存您的对象。然后,所有这些缓存的对象都将与每个 apache 子进程共享。这对于您在服务器生命周期内不希望更改的只读对象最有用。

如需更灵活的缓存选项,请查看Rose::DBx::Object::Cached::CHI.

至于您的第二个问题,Rose::DB::Object::Cached仅在 和 上读取和写入load()缓存save()。大多数关系方法使用管理器查询来获取对象,因此不会从Rose::DB::Object::Cached缓存中读取。

于 2010-02-11T21:56:20.750 回答