我运行一个用python编写的web应用程序,并使用mysql作为我们的主数据存储。我们在amazon RDS上有一个包含数千万行的大表,预计它会变得10倍大。我们运行许多基于主键选择数百个随机行的查询(比如"select * from table where id IN (ids)“,其中id是主键)。它偶尔会相当慢,需要30+几秒钟。最终,我们将不得不对表进行分片,但我们一直在考虑尝试将缓存在memcache中的行的副本保留下来。在运行select查询之前,我们要向memcache发送一个multi_get。考虑到我们的工作流(我们运行很多更新),如果我们也抢先地将一行的更改写到m
这里可能有很多类似的问题,但我仍然不明白它是如何做到的。
假设我有以下简单的模块:
defmodule ModuleOne do
def do_something(argument) do
argument
|> do_first_thing()
|> do_second_thing()
|> ModuleTwo.do_something()
end
end
现在,我已经用测试覆盖了ModuleTwo,所以重复该测试逻辑是没有意义的。此外,它不是Twitter API模块或类似的模块,所以我不认为想出一个编译时模拟模块是个好主意(据