簡體   English   中英

Ruby on Rails 如何在 ActiveRecord 模型中緩存來自外部源的部分數據

[英]Ruby on Rails How do I cache partial data from external source in an ActiveRecord model

這是我的第一個問題,所以如果您覺得我在做任何主要/次要的失禮,請告訴我。 謝謝。

版本:

  • 紅寶石 - 2.5.3
  • 導軌 - 5.0.3

我有一個現有的 ActiveRecord 數據模型。 由於信息在 API 中可用,因此數據模型中的字段變得多余,需要手動更新。 我想從外部 API 檢索、填充和緩存其中一些字段。

由於大多數實體使用數據模型 CRUD,我將修改數據模型以始終檢查緩存數據,如果 TTL 失效,則從 API 中重新提取。

Rails 或 Ruby 中是否存在允許我這樣做的機制?

似乎有用於更新的 ActiveRecord 驗證掛鈎,但我沒有可用於檢索的掛鈎。

我還是 Ruby on Rails 的新手,我的搜索結果並不好。

非常感謝您提供的任何幫助!

我能夠使用after_find鈎子來預填充結果並保存它,如果更新的時間在某個可配置的時間段之后。 不幸的是,如果我要為每個結果(咳嗽,所有結果)進行 API 調用,這不能很好地擴展。

我最終創建了一個定期運行的 rake 任務,它會定期調用外部 API 來更新我的記錄結果的一部分。

這似乎不符合我所尋找的客觀答案,因此我不會將其標記為結果。 感謝所有查看並考慮回答此問題的人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM