如何在 Laravel 中缓存 BLOB 类型

How to cache BLOB type in Laravel

大家好,

有没有办法在Laravel中暂时缓存BLOB类型?

场景:
我将暂时缓存一些大小为 2048KB 的数据 MEDIUMBLOB。 这些数据实际上是一个 16MB 的大单个文件的一部分。 缓存所有部分后,它们将组合在一起成为一个文件,然后从缓存中删除。

每个单独部分的内容由file_get_contents函数给出。

我已经在 MySQL 上这样做了。 (不过,查询较多,需要时间。)

有没有更好的方法可以将 MEDIUMBLOB 数据临时存储在缓存存储中?

我在 Laravel 中遇到过 RedisCache,但我不确定它们是否支持 MEDIUMBLOB

这是重点。最后,BLOB 只是一个字节串。与正式字符串类型的主要区别在于 BLOB 没有任何类型的编码或关联的排序规则。它是一种二进制字符串,是“通用数据”的另一种说法。 file_get_contents 通常也 returns 这种“通用数据”。

Laravel 的缓存被构建为通用的,因此它没有任何与之相关的特定数据类型。它只是一个 key/value 对的存储,键必须是 ascii 字符串,而值可以是任何东西 Laravel 在它们进入缓存之前序列化东西所以基本上任何可以表示为变量的东西 PHP 并且是可序列化的可以被缓存。