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

Python 服务器端数据模型:在数据库中还是作为对象加载?,python,mysql,twisted,Python,Mysql,Twisted,我正在编写一个在服务器端使用python和mysql的移动应用程序。我的服务器端数据将通过python twisted平台的连接进行相当频繁的读/写。这些数据应该加载到python对象中(我认为速度更快,但内存可能更昂贵),还是只在mysql数据库中维护 存储的数据将是字符串列表(计数上限为200)使用类似的内存存储,然后将其写入数据库以供以后使用/存储 redis将为您提供卓越的写入速度(对于大多数数据库来说,写入是一种阻塞操作,这一点至关重要),并提供快速读取,因为它都在内存中。你的数据集很

我正在编写一个在服务器端使用python和mysql的移动应用程序。我的服务器端数据将通过python twisted平台的连接进行相当频繁的读/写。这些数据应该加载到python对象中(我认为速度更快,但内存可能更昂贵),还是只在mysql数据库中维护

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

使用类似的内存存储,然后将其写入数据库以供以后使用/存储

redis将为您提供卓越的写入速度(对于大多数数据库来说,写入是一种阻塞操作,这一点至关重要),并提供快速读取,因为它都在内存中。你的数据集很小,redis将是一个巨大的推动

您可以使用memcache获得类似的结果;另一个内存存储

指定一段时间后,可以将redis的内容写入数据库,将其用作存档数据的“永久存储”。如果需要的数据超过了redis中可用的时间段(换句话说,当您尝试从redis加载数据时,会丢失数据),那么您可以在此时将数据从数据库加载到redis中。然后,每个后续请求都将从(必须更快)redis存储中提取


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

字符串总共将使用多少内存?它们将是歌曲元数据,因此长度不会太长,每个实例可能有100字节,每个实例可能有20kb(可能估计过高)