ram

时间:2016-10-23 18:13:09

标签: python python-2.7 mysql-python raspberry-pi2

我是Python新手。我正在尝试在运行Python 2.7和MySQLdb的Raspberry Pi中实现两个鼓风机的控制,以冷却封闭空间。我希望每5分钟在1行存储21列数据,持续48小时。在48小时之后,每次添加新行时,将删除最旧的行,对数据库的大小设置有限的限制。数据库的目的是能够查看过去两天的系统性能,并使用这些数据进行系统监视和优化。因为,我希望这个系统运行多年,我担心Raspberry Pi的非易失性SD卡存储将从大量重写开始失败。我不关心数据安全性。我正在寻找一种解决方案,其中数据表存储在ram中以防止SD卡过早失效,并且因为如果数据丢失会导致系统重新启动时断电,数据库将在下一次重新填充新数据两天。我希望有人可以指出我正确的方向来编写一个存储在ram中的表的数据库。

2 个答案:

答案 0 :(得分:1)

而不是MySQL,你应该使用sqlite,它附带Python并且可以选择创建in-memory database

或者,如果它只是你存储的键值对,Redis会更适合。

一般情况下,如果您担心SD卡出现故障,为什么不购买小型外置高清并将其连接到pi?

答案 1 :(得分:0)

如果你真的想在MySQL中使用内存表,你应该看一下How do I make a MySQL database run completely in memory?

另一种解决方案是在内存中创建一个文件系统。我找到了那里an article you could study。实质上,它建议使用tmpfs,然后在其上找到表格。

有没有特别的理由为什么想要走硬路线,而不是像Daniel建议的那样使用普通的Python结构或SQLite内存数据库?