3

在我的应用程序中,我有许多标准 SQL 查询,例如按 id 查找模型。

我想在 Redis 中缓存这些查询(例如 1 小时)。

我可以存储模型的 JSON 表示,获取并解析这个字符串,但它将是一个 ruby​​ 哈希。

这不方便,因为我需要像 ActiveRecord 对象一样操作这些对象。

如何将此对象从哈希转换为 AR?

可以Marshal.dump帮助我吗?

4

1 回答 1

0

您可以使用Marshal.dumpandMarshal.load序列化 AR 对象,然后将它们加载回来。不过,这有一些缺点。在当前版本的 rails 中,自动加载不能很好地配合Marshal.load. 最近有一个 PRMarshal.load和 autoloader 一起工作。(https://github.com/rails/rails/pull/8246)。

于 2013-01-01T15:31:14.503 回答