2013-10-14 30 views
0

在mysql中存储pickle对象是不错的做法,对象大小约为10mb。将python pickle对象存入mysql + django

我一直在阅读将腌制对象存储为BLOB或charstr并知道它是可能的。但是,当我这样做时,我遇到了其他文章的图片说:不要将图像存储在MySQL中。
来自:< http://mysqldump.azundris.com/archives/36-Serving-Images-From-A-Database.html>

所以我想,如果我有大蟒蛇的对象,我应该存储在MySQL或存储URL路径的的对象?这些对象需要经常读取和处理,但它是只读的。

我也希望使用DJANGO来管理数据库的创建,尽管不需要面向读取pickled对象的API(pickle对象对于后端处理是必需的,而不是信息用户看到的)。

回答

1

可以在数据库中存储blob - 毕竟这就是BLOB类型,但是很少有这样做的充分理由。数据库最适合结构化和索引数据。如果你只是想存储一个不透明的blob,那么你应该使用最适合的系统:文件系统。

+0

是否有需要考虑的事项?比如,访问它会更慢?警告 - 访问它的东西是在不同的计算机上,将SSH连接? – user1639926

+0

在正常情况下,从数据库读取BLOB会有明显的开销。 – Matthias

+0

这不是关于管理费用,没有理由这样做。它既不可扩展也不快捷也不方便。针对您的问题的典型解决方案是缓存图片(例如,在Redis中)。也许你需要制作一些不同大小的缩略图(然后sorl-thumbnail是不错的选择)。 – Melevir

相关问题