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 投稿