Redisによるセッション共有の実装方法
セッション共有のためのRedis設定
前回はSQL Serverを使用してセッションの共有化を実現しましたが、今回はRedisを利用してセッションを共有する方法について説明します。前回の記事ではsessionStateノードのmode="SQLServer"を使用して複数アプリケーション間でセッションを共有しましたが、実はmode="Custom"という設定があり、これによりRedisなどの外部キャッシュスト ...
7月16日 22:28 投稿
Redisビットマップを使った月間チェックイン機能のJava実装
ポイントサービスやキャンペーンアプリでよくある「本日のチェックイン」機能を、Redis のビットマップ機能を使って高速・省メモリに実装する方法を解説します。Redis の SETBIT / BITFIELD を活用することで、1 ユーザーあたり月 31 日分のデータをわずか 4 byte で保持できます。
設計方針
1 ビット = 1 日の出欠を表現
キーは checkin:{userId}:{yyyyMM} の形式
offse ...
7月16日 17:12 投稿
.NET Core で利用可能な Redis データ型とその使用シナリオの詳細解説
.NET Core 環境において、Redis は多様なコアデータ型をサポートしており、それぞれが独自の応用シナリオとパフォーマンス上の利点を持っています。主なデータ型とその詳細な使用シナリオは以下の通りです:
1. String(文字列型)
説明:最も基本的なデータ型で、テキスト、バイナリデータ(シリアライズされたオブジェクトなど)、または数値を保存できます。最大サイ ...
7月15日 21:37 投稿
Redisのスレッドモデルと永続化メカニズムの詳細分析
1. Redisにおける主要スレッドとその協調動作
Redisのスレッドアーキテクチャは、純粋なシングルスレッドから「コアシングルスレッド+マルチスレッド補助」への進化を遂げています(Redis 6.0でIOマルチスレッド導入、Redis 7.0でバックグラウンドスレッド強化)。設計目標はコマンド実行のアトミック性を維持しつつ、高並列状況でのパフォーマンスを向上することです。
R ...
7月15日 17:19 投稿
Nginx OpenRestyとRedisを活用した効率的なIPアクセス制御システムの構築
1. はじめに
現代のデジタル環境において、ネットワークセキュリティは企業および個人ユーザーにとって重要な関心事です。IPベースのアクセス制御リストは、Webリソースへのアクセス権限を精密に管理するための効果的な手段です。許可リストを使用することで、信頼できるIPアドレスのみが機密リソースにアクセスできるように確保できます。一方、拒否リストは悪意のあるIP ...
7月14日 17:46 投稿
Redis データ構造と主要コマンドの徹底解説
Redis 共通コマンドの基礎
Redis には数百ものコマンドが用意されていますが、すべてを暗記する必要はありません。Redis の内部機制を理解することで、コマンドの汎用性が見えてきます。ただし、データ構造やコマンドは特定のユースケースに適しており、誤った使用はパフォーマンス低下やアプリケーション障害を招く可能性があります。
キー管理に関するグローバルコマン ...
7月13日 22:54 投稿
Redisトランザクションの実装と制約事項
Redisトランザクションの基本概念
Redisトランザクションは複数のコマンドを単一の操作として実行する仕組みです。すべてのコマンドは順序付けられ、他のコマンドによる割り込みが発生しないよう直列化して実行されます。
主要なトランザクションコマンド
コマンド機能
MULTIトランザクション開始を宣言
EXECトランザクション内の全コマンド実行
DISCARDトランザ ...
7月13日 16:25 投稿
Redisにおけるマスター・スレーブレプリケーションの構築手順
Redisのレプリケーション機能(Master-Slave構成)は、システムの可用性向上と読み取りパフォーマンスの最適化に不可欠な仕組みです。以下に、マスターおよびスレーブサーバーの具体的な設定プロセスを記載します。前提環境Redisがマスター用・スレーブ用のそれぞれのサーバーにインストールされ、サービスが起動可能な状態であることを確認してください。マスターサーバー ...
7月13日 00:47 投稿
RedisとJWTによるSpring Bootアプリケーションの単一セッション制御
依存関係の設定
プロジェクトに必要なライブラリを追加します。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId> ...
7月13日 00:06 投稿
Redis 主从レプリケーションの基本構成と課題
Redis のシンプルな主従(マスター・スレーブ)レプリケーションには、以下のような制限がある。
マスターは読み書き可能だが、スレーブは読み取り専用
マスターが停止した場合、自動フェイルオーバーは行われず、手動での再設定が必要
本記事では、Docker を用いた Redis 6.2.6 の主従構成のセットアップと、上記課題の検証を行う。
設定ファイルの準備
まず、GitHub ...
7月12日 19:01 投稿