Redisビットマップを使った月間チェックイン機能のJava実装
ポイントサービスやキャンペーンアプリでよくある「本日のチェックイン」機能を、Redis のビットマップ機能を使って高速・省メモリに実装する方法を解説します。Redis の SETBIT / BITFIELD を活用することで、1 ユーザーあたり月 31 日分のデータをわずか 4 byte で保持できます。
設計方針
1 ビット = 1 日の出欠を表現
キーは checkin:{userId}:{yyyyMM} の形式
offse ...
7月16日 17:12 投稿
Redis Sorted Set 削除が効かない原因と回避策
Spring Data Redis の ZSetOperations.remove(K key, Object… values) を使っても、値を「更新した後」に削除しようとすると 該当メンバーが見つからず削除できない という現象が発生した。本記事では再現手順と回避策を示す。
事象の概要
新規レコードを追加(addData)
一部フィールドを変更して再追加(updateData)
更新後の値を指定して削除(removeData)
3 の時 ...
5月11日 06:03 投稿