こんにちは。
今回は、Amazon Apiを使用して商品の売れ筋ランキングを取得してデータベースに保存する際のことについて質問させて頂きたいと思います。
私の考えた解決法が一番下にありますので、そちらが正しいか、もし間違っているまたは修正の余地があればそこを教えて頂きたいという趣旨の質問です。
###環境
使用言語 PHP
API Amazon API(商品の売れ筋ランキングを取得)
データベース MYSQL
テーブル amazon_data
フィールド id, asin, title, price, img_url, created
###状況
現在PHPでAmazon Apiを使用してランキング取得をしてその情報をデータベースに保存し、データベースから取得した情報をサイトに表示というシステムを作っています。
amazonのサイトに書いてあるのを見ますと、Amazonのランキングは1時間毎に更新されるようなので、できれば1時間毎に私のサイトの表示内容も変えたいと思っています。
その際、サイトに表示する内容は、私のデータベースに保存されている情報を使用しているので、1時間毎にデータベースを更新する形になると思うのですが、この時、具体的にデータベースに対してどのような処理をするのが適切なのかが分からなかったので、ここの皆さんに何かアドバイスを頂ければと思い投稿させて頂きました。
###私の考えた解決法は
(本というカテゴリの中で売れ筋ランキングを上位10件取得したと仮定します。)
その10件の情報をデータベースに保存し、次の1時間後に再度cronなどで取得するときに、データベースには追加でさらに10件保存していきます。
(最初の10件はid 110, 次の10件はid 1120のように。)
サイトに表示する内容は直近1時間以内のランキングを表示したいので、テーブルにcreatedなどを指定しておいて、1時間以内の情報を取得できるかと思います。このままではデータベースにひたすら保存していくだけで肥大化していきますので、何日かに一度データベースの古いデータは自動削除できると良いかと思っています。
上記が私が唯一思いついた方法なのですが、この方法で問題ないのでしょうか?
もし問題があるなら、どこを直せば良いか、他に適切な方法は何かをご教授いただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/06/01 08:53
退会済みユーザー
2015/06/01 13:18
退会済みユーザー
2015/06/02 03:16