Fedibirdの絵文字リアクションは、データ上は投稿に好きなだけぶら下げられて上限ないし、それを絵文字の種類毎にグループ化してソートしてアカウントID添えて表示するようになっているんだけど、それを表示する度に計算していたら重いので、投稿毎にキャッシュしておくようになっているのね。
絵文字リアクション、5個や10個ならいいんだけど、1,000とか付いてることもあるし、リアクション1,000回毎に計算しても1,000回だけど、表示回数はその何百倍、何千倍ってなるから、だいぶ軽量化できてると思うよ。
画像URLもキャッシュしているんで、たまに絵文字情報だけが更新されるとキャッシュが壊れる(画像が表示されない)ことがあったんだけど、それも時間経過で再計算するようにしたよ。
で、今回の対応の為に、カスタム絵文字の有効・無効を変更した時に、それを再計算するバックグラウンドワーカーを走らせるようにしたんだ。
おかげで、有効に戻した時も、すぐに再計算して元通り。よかったね!
@noellabo ダジャレを検出しました(検出ワード: 10, ゴト)