【发布时间】:2015-04-17 22:37:34
【问题描述】:
有人可以为这个用例推荐一个好的数据结构/方式吗?我正在使用 Ruby/Rails 和 MySQL。
我有一个包含数万种产品的产品 Feed(包括价格、网址、产品代码等)。我每天访问一次提要,并希望将产品信息存储到一个可快速访问的哈希中,一旦程序停止运行,该哈希就会保留在数据库中。
这个(可能非常大的)哈希应该是它自己的类,还是 Product 类的序列化属性?
我的伪代码:
将产品 Feed 数据保存为哈希并存储在数据库中:
all_products_hash = Hash.new
product_feed = get_feed_api()
product_feed.for_each |product| do
updated_product = Product.new(product.url, product.code, product.price)
all_products_hash[product.url] = updated_product
end
all_products_hash.save
检索散列内容(不知道如何从数据库中检索散列):
a_product = all_products_hash.get['url']
哈希的关键是product.url。我是否正确初始化哈希?非常感谢您的任何建议!
【问题讨论】:
-
你能详细说明为什么它需要是一个哈希吗?我建议将每个产品存储为 ActiveRecord 模型。
-
您是如何使用 Feed 的?您是否真的想将提要作为哈希值保存在数据库中,或者这真的是一个关于如何缓存 api 响应的问题?
标签: ruby-on-rails database serialization data-structures hash