👻
使う技術がなんなのかしっかりと知るべき
初めに
お疲れ様です。前回RedisとSidekiqに関する記事を書いたのですが、そもそもRedisについてよくわかっていなかったために遠回りをすることになったので半生を描いていこうと思います。
参考:ChatGpt
今まで勘違いしていたこと
Redisは、キャッシュに一時的にデータを保存してそれを定期的にDBに格納するというのをやるためのものという認識をしていました。そのため、前回の記事ではvotes_statusというテーブルを新しく作りそこに投票の集計結果を保存しようとしていました。
実際は
実際はRedisにキャッシュがある場合はDBにアクセスしなくてもそのままフロントエンドにデータを返してくれるそうです!
なので、キャッシュがない場合のみDBにアクセスして集計することでDBへの負荷を大きく減らせるようです。
反省
ここを勘違いしていたせいで、votes_statusにもアクセスをしたりとかなり非効率的な設計をしていたり、そこの部分のコーディングに時間をかけていたため勿体なかったです。
自分が使う技術に関しては、しっかりどういうものなのか確認してから使うべきだと痛感しました。
Discussion