Python 非序列化数据的共享内存缓存
我有一个(Django)web应用程序,它需要构建大型(numpy)数组,比如说每个向量1MB。它可以在几个进程上工作(由Apache/mod_wsgi产生) 目前,我使用的是内存缓存中的,最简单的版本是全局变量。从缓存中检索数据是即时的,这是我所需要的。但是,每个进程都需要在自己的内存中复制缓存,这取决于哪个进程加载了数据,哪个进程没有(我希望在启动时一次性加载) 我尝试Memcached和Redis在进程之间共享缓存。两者都需要先序列化数据:仅限字符串和整数。现在,当我想要读取向量时,反序列化需要大约10秒,对于用户在单击按钮后等待的时间有点长 难道没有任何解决方案可以同时在RAM中存储一些任意数据而不序列化为字符串,并在不同进程之间共享吗?(我对重启后的持久性不感兴趣)。Redis支持很多,包括原始字节 字符串是最基本的Redis值类型Redis字符串是 二进制安全,这意味着Redis字符串可以包含任何类型的 数据,例如JPEG图像或序列化的Ruby对象 Redis被证明是快速的,所以也许你的重点应该放在快速反序列化的高效序列化格式上,例如Python 非序列化数据的共享内存缓存,python,django,caching,redis,memcached,Python,Django,Caching,Redis,Memcached,我有一个(Django)web应用程序,它需要构建大型(numpy)数组,比如说每个向量1MB。它可以在几个进程上工作(由Apache/mod_wsgi产生) 目前,我使用的是内存缓存中的,最简单的版本是全局变量。从缓存中检索数据是即时的,这是我所需要的。但是,每个进程都需要在自己的内存中复制缓存,这取决于哪个进程加载了数据,哪个进程没有(我希望在启动时一次性加载) 我尝试Memcached和Redis在进程之间共享缓存。两者都需要先序列化数据:仅限字符串和整数。现在,当我想要读取向量时,反序列