首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于非序列化数据的共享内存缓存

用于非序列化数据的共享内存缓存
EN

Stack Overflow用户
提问于 2016-03-24 15:56:38
回答 1查看 970关注 0票数 0

我有一个(Django) web应用程序,需要构造大型(numpy)数组,比方说每个向量1MB。它可以工作在几个进程上(由Apache/mod_wsgi派生)。

目前,我使用的是内存缓存,最简单的版本是全局变量。从缓存中检索数据是即时的--我所需要的一切。但是,每个进程都需要在自己的内存中复制缓存,并且是不可预测进程加载了数据,而哪个进程没有加载数据(我希望在启动时一次性加载它)。

我尝试过MemcachedRedis在进程间拥有一个共享缓存。两者都需要先序列化数据:字符串和ints。现在,当我想要读取一个向量时,反序列化大约需要10 s,对于在单击按钮后等待的用户来说,时间有点长。

难道没有任何解决方案可以同时在RAM中存储一些任意数据而不序列化到string,并在不同的进程之间共享它吗?(我对重启后的持久性不感兴趣)。

EN

回答 1

Stack Overflow用户

发布于 2016-03-24 18:30:55

Redis支持许多数据类型,包括原始字节。

字符串是最基本的Redis值类型。红宝石字符串是二进制安全的,这意味着红宝石字符串可以包含任何类型的数据,例如JPEG图像或序列化的对象。

Redis被证明是快速的,所以也许您的重点应该是一种高效的序列化格式,这种格式可以快速反序列化。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36204575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档