两张表,大概结构是
Reply
belongs_to :topic, :inverse_of => :replies
Topic
has_many :replies
有一个 id=1 的 topic,同时有一个 id=1 的 reply
reply = Reply.find_by_id(1)
topic = reply.topic
topic2 = Topic.find_by_id(1)
p topic.equal? topic2 # 内存比较结果是false
这个可以理解,但是
reply = Reply.find_by_id(1)
topic = Topic.find_by_id(1)
p reply.topic.equal? topic # 内存比较结果是true
看日志,原因是 reply.topic 没有重新查询数据库,但是
现在我只知道现象是这样的,但不清楚 mongoid 的缓存是怎么弄的? 还有什么合适场景,如何正确运用这个特性 大家帮忙稍微讲解一下