服务器端数据模型:在数据库中还是作为对象加载?

时间:2014-08-03 03:51:16

标签: python mysql twisted

我正在服务器端使用python和mysql编写移动应用程序。我的服务器端数据将通过python twisted平台的连接而频繁地读/写。这个数据应该加载到python对象中(我假设更快,但可能是昂贵的内存)或只是在mysql数据库中维护?

存储的数据将是字符串列表(计数上限〜200)

1 个答案:

答案 0 :(得分:1)

使用像redis这样的内存存储库,然后将其写入数据库以供以后使用/存储。

redis将为您提供出色的写入速度(对于大多数数据库而言写入是一种阻塞操作至关重要),并且因为它全部在内存中而快速读取。你的数据集很小,redis将会很有用。

使用memcache可以获得类似的结果;另一个内存商店。

在您指定的一段时间之后,您可以将redis的内容写入您的数据库,将其用作"永久存储"对于存档数据。如果需要的数据超出redis中可用的时间段(换句话说,当您尝试从redis加载时没有错过),则可以将数据库中的数据从数据库加载到redis中。然后,每个后续请求都将从(必须更快)redis存储中获取。

这是快速更改数据的常见做法,尤其是在读/写非常关键的情况下。