我有一个辅助数组,它是页面加载所需的一些昂贵的预计算的结果。我不想出于各种原因将它存储到数据库中,而是宁愿将它放在内存中。这是可取的吗?如果是这样,我可以把它放在哪里(这个"缓存"数组)?使用全局变量$array
?
我尝试过:
class MyController
def precompute
@@array = # pre-computation
end
def index
# use @@array data for page load; pre-computation done earlier elsewhere
end
end
和
module MyModule
def precompute
@@array = # pre-computation
end
def array; @@array end
end
class MyController
def index
# use MyModule.array data for page load; pre-computation done earlier elsewhere
end
end
这两个都不起作用,可能是由于多线程。在预计算完成一段时间后,Rails抱怨类变量不再被初始化。