首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有人将mp3存储在redis缓存中?

有没有人将mp3存储在redis缓存中?
EN

Stack Overflow用户
提问于 2016-02-23 02:28:48
回答 1查看 2.5K关注 0票数 1

我对redis是新手,我认为我对redis有一个很好的用例。我想要做的是在短时间内缓存一个mp3文件。这些MP3s的侧面大于2米,但我也只说在任何时候都可以存储5-10。他们的TTL也会很短,分钟,而不是小时,等等。

(磁盘持久性不是一个选项)。

所以,我想知道的是,我是否需要花哨一下,用Base64把mp3存储起来呢?或者我可以简单地设置keyvalue=bytearray[]吗?

这个redis命中将来自一个web服务,而web服务则从磁盘点击的下游服务获取它的数据。因此,如果您愿意的话,我要做的就是在中间件上缓存mp3文件一小段时间。我不需要对每一个文件都这样做,只是那些大于2m的文件,这样我就不需要继续转到下游服务器并再次从磁盘请求文件了。

谢谢!

尼克

EN

回答 1

Stack Overflow用户

发布于 2016-02-23 08:09:34

您当然可以存储它们,而对于redis来说,2MB没有什么可存储的。

Redis是二进制安全的,您不需要base64您的数据,只需通过字节数组存储在您喜欢的客户端。

我想做的一件事(用2Mb的数据来说可能不值得,但如果我要存储视频文件)是存储文件序列块,而不是一次加载所有的东西。如果你的应用程序不能同时在内存中保存很多文件,而且文件也不是那么大,那就不值得了。但是,如果您期望具有较高的并发性,请考虑这一点,因为这将节省应用程序内存,而不是红色内存。

您可以通过多种方式这样做:

  1. 您可以将每个块存储为排序集的一个元素,并以序号作为分数,然后逐个读取它们,这样您就不必立即将所有内容加载到内存中。
  2. 您可以将文件存储为完整的字符串,但可以使用GETRANGE读取块。

例如:

代码语言:javascript
复制
GETRANGE myfile.mp3 0 10000
GETRANGE myfile.mp3 100000 200000
... #until you read nothing of course
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35567696

复制
相关文章

相似问题

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