【发布时间】:2020-11-13 00:09:05
【问题描述】:
我试图使用 django.core.cache.backends.db.DatabaseCache 后端缓存一个大熊猫数据帧到 MySQL 数据库中。它适用于 300,000 个项目,但不适用于更大的项目(例如 400,000 个项目)。我可以增加缓存值的最大长度吗?提前致谢。
import pandas as pd
import numpy as np
from django.core.cache import cache, caches
cache.set('data', pd.DataFrame(np.random.rand(300,1000))) # It works
cache.set('data', pd.DataFrame(np.random.rand(400,1000))) # It doesn't; no error, just no change in database
df = cache.get('data')
# It returns a dataframe with 300 rows × 1000 columns
# But I expect 400 rows x 1000 columns
【问题讨论】:
-
会产生什么错误?
-
没有错误,但它返回了较小的旧数据帧。
-
MySQL默认的max_allowed_packet是4MB,不知道是不是这个原因
-
如果有一个(原因)它的历史(甚至可能歇斯底里)。设置大应该不会产生不良影响。
标签: mysql django pandas caching