Untrusting parent:将一些模型属性存储在单独的密钥库中

时间:2014-11-15 05:12:07

标签: ruby-on-rails-4 rails-activerecord

我有一个Card模型,其中包含以下字段:

  • id
  • name
  • brand
  • number
  • exp_month
  • exp_year

..对应于特定会员卡品牌的卡详细信息。这些当前存储在MySQL服务器上。

我想将numberexp_monthexp_year字段单独 ..存储在其他服务器上的Redis密钥库中。

class Card < ActiveRecord::Base
  after_save :save_card_data

  private:

  def save_card_data
    # Save the card data to a Redis store
    redis = Redis.new(url: CONFIG['cardholder_keystore_url'])
    redis.hmset(self.id, "number", self.number, "exp_month", self.exp_month, 
                "exp_year", self.exp_year, "cvc", self.cvc)
  end
end

上面的代码执行我需要它做的事情(将卡数据保存到Redis商店),但它也会保存到MySQL数据库

我有什么选择阻止它将其存储到MySQL数据库?我可以完全删除MySQL DB中的字段吗?

1 个答案:

答案 0 :(得分:1)

为您要在Redis上存储的每个字段创建自定义getter和setter,并单独保存详细信息。