RDBOC对象是否通过不同的进程进行缓存?我正在考虑在mod-perl中运行它,尽管它主要用于不会有太大变化的东西,但它也会成为一些因素。
此外,引用RDBOC的关系是否会在应该使用缓存时直观地使用缓存?
发布于 2010-02-12 05:56:21
Rose::DB::Object::Cached将对象缓存在普通(非共享)内存中。在mod_perl下,这意味着每个apache进程都有自己的缓存。但是,您可以在服务器启动时缓存您的对象。然后,所有这些缓存的对象都将与每个Apache子进程共享。这对于您不希望在服务器生命周期内更改的只读对象最有用。
有关更灵活的缓存选项,请查看Rose::DBx::Object::Cached::CHI。
关于您的第二个问题,Rose::DB::Object::Cached仅对load()和save()上的缓存进行读写。大多数关系方法使用Manager查询来获取对象,因此不会从Rose::DB::Object::Cached缓存中读取。
https://stackoverflow.com/questions/2245724
复制相似问题