我不确定,但我认为使用Cache::remember
存储的数据是二进制的。它看起来像这样并继续:3133 3632 3334 3838 3533 613a 343a 7b73
。
为什么它是编码/二进制/无论它是什么?
编辑:我目前正在使用文件缓存,因为数据库缓存会给我错误。
答案 0 :(得分:2)
您正在查看的是编码加密缓存
所有缓存均来自Store.php
。 DatabaseStore.php
是商店功能包含加密的唯一方法。 Laravel数据库缓存源代码包含以下注释:
如果消费者将其用作会话数据存储,则数据库中的所有缓存值都会被加密
换句话说,如果您的数据库遭到入侵 - 如果数据也无法访问您的源代码,那么理论上数据会受到保护。
缓存使用您的密钥(在app.php
中定义)作为加密/解密此密钥的密码。加密发生在Encrypter.php
文件中,在get / set缓存调用期间由继承的存储文件(即DatabaseStore.php)调用。
编辑:作为演示 - 以下文件缓存
Cache::remember('test', 5, function()
{
return 'example';
});
结果
1362413945s:1:"example";