akanevrc

Results 3 comments of akanevrc

`note.reactionAndUserPairCache`を利用するのはどうでしょうか? 少なくともそれぞれのリアクションのユーザーを全て検索する必要がなくなります。 実験的に実装してみましたが、最初の16人についてミュートを適用するだけでも精神衛生という観点では非常に良い結果が生まれそうです。 (リアクションが悪目立ちするのはリアクション数が少ないときである気がする(???)) これに加え、リアクション一覧からmutee userを消去すると良いと思います。

おっしゃる通り、色々考慮が不足していました > - GETが使えなくなる(キャッシュできなくなる)点 やはりフロントエンド側でどうにかしたほうが良いかもしれません(バックエンドだとPOSTは免れない) - 解決案: - `notes/reactions`をGETで取得、それとは別に`mute/list`を取得、リアクション詳細でユーザーを非表示にする - (現在は`mute/list`が毎回DBアクセスになるので、Redisに置き換えたほうがよさそう?) - 懸念点: - ミュート情報をブラウザ側でどのように記憶しておくか? > - ミュート情報がキャッシュされてない場合、追加でデータベースへのクエリが発生する点 Redisのキャッシュを極力使用しないとすると、DBにキャッシュする方法が考えられます - 解決案A: - userテーブルに`muteeIdCache character varying(32)[]`のようなカラムを追加する - このカラムには、当該ユーザーにミュートされたユーザーのIDを格納する - 配列の件数の最大値は何件にすべきか不明… -...