1分ごとに外部APIを叩いて最新のデータを取得し、1分前と違ったものだけ表示させるというアプリケーションを開発しています。
僕は現在、APIを叩いてデータを取得⇨取得したデータをDBから順番に検索してなかったものを保存⇨表示。という方式を取っています。
ただこの場合、サービスが大きくなるにつれてSQLを叩く回数がものすごく多くなると思うのですが、他に何か良い方法はありますか。それともこの方法で問題ないでしょうか。
最初に取得したデータ
[{"id":17,"username": "hoge","created_at":"2017-12-09T19:00:23.000Z","updated_at":"2017-12-09T19:00:23.000Z"}]
1分後に取得したデータ
1分後に取得するデータ
1[{"id":17,"username": "hoge","created_at":"2017-12-09T19:00:23.000Z","updated_at":"2017-12-09T19:00:23.000Z"},{"id":30,"username": "huga","created_at":"2017-12-09T19:00:23.000Z","updated_at":"2017-12-09T19:00:23.000Z"}]
2分後に取得したデータ
2分後に取得するデータ
1[{"id":10,"username": "yaga","created_at":"2017-12-09T19:00:23.000Z","updated_at":"2017-12-09T19:00:23.000Z"},{"id":17,"username": "hoge","created_at":"2017-12-09T19:00:23.000Z","updated_at":"2017-12-09T19:00:23.000Z"}, 2{"id":100,"username": "unge","created_at":"2017-12-09T19:00:23.000Z","updated_at":"2017-12-09T19:00:23.000Z"}]
ユーザーが取り消したりしたりするため、逆にデータがなくなっていることもあります。
このデータが10万とかになったり、1分ごとに叩いていたAPIの感覚を短くしたりした時にかなりサーバーに負荷がかかりそうだと思ってます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/13 10:06