Redisの簡易テスト
1. 前提条件
Redisサーバーが稼働していることを確認してください。
2. StackExchange.Redisを使ったテスト
using StackExchange.Redis;
using System;
using System.Threading;
class Program
{
static ConnectionMultiplexer redisConnection = ConnectionMultiplexer.Connect("localhost");
static void Main(string[] args)
{
Console.W ...
8月3日 02:46 投稿
PHPにおけるRedisを活用した高速キャッシュアーキテクチャの構築手法
第1章:PHPでのキャッシュ戦略とRedisとの連携方法
現代の高速なWebアプリケーション開発において、キャッシュは応答速度の向上とデータベースへの負荷軽減に不可欠です。RedisとPHPを統合することで、効率的なデータ読み書きキャッシュメカニズムを実現し、アプリケーションのパフォーマンスを大幅に改善できます。
Redis拡張のインストールと設定
PHPはphpredis拡張を ...
8月3日 00:38 投稿
LuaスクリプトによるRedis操作の最適化
Luaは軽量なスクリプト言語であり、C言語で実装されています。データベースのストアドプロシージャと同様の役割を果たすことができます。
RedisでLuaスクリプトを使用する利点:
複数のコマンドを一度に送信し、ネットワークオーバーヘッドを削減
スクリプト全体がアトミックに実行され、他のリクエストによる割り込みがない
複雑な処理をファイル化することでコードの再 ...
8月2日 04:10 投稿
Spring Boot アプリケーションクラスタリング時のセッション管理
問題シナリオ
マイクロサービス環境において、アプリケーションをクラスタとして展開し、セッションを使用して値を取得・保存すると問題が発生します。Nginxなどのゲートウェイを通じてリクエストがランダムに分散されるため、あるリクエストはマシンAで処理され、次のリクエストはマシンBで処理される可能性があります。この場合、セッションIDは同じであるかもしれません ...
7月31日 18:39 投稿
.NET Core で Apache Kafka を利用した信頼性のあるメッセージ処理実装
オフセット管理を活用した重複処理防止の実装
Apache Kafka を .NET Core で利用する際、コンシューマーがメッセージを受信した後、Kafka が停止/再起動した際に重複処理が発生する問題があります。この問題を解決するため、Redis を活用したオフセット管理を実装します。
問題の背景
コンシューマーがメッセージを受信後、StoreOffset() を呼び出してオフセットを確認しま ...
7月31日 01:00 投稿
Javaバックエンド技術面接対策:トランザクション、分散システム、キャッシュ戦略
1. トランザクション処理
1.1 ローカルトランザクション
ローカルトランザクションは通常、Springフレームワークによって管理されます。実装方法としてはプログラマティックな手法と宣言的な手法(`@Transactional`アノテーションなど)がありますが、一般的には宣言的手法が用いられます。Springのトランザクション管理はデータベースのトランザクション機能に依存してお ...
7月29日 06:35 投稿
Redis データ移行方法
1. redis-dump コマンドを使用する方法
Ruby のインストール(Rocky Linux 9)
dnf -y install ruby ruby-devel
Rubygems のデフォルトミラーを変更
# 登録済みミラーの確認
gem sources
# 公式ソースの削除
gem source -r https://rubygems.org/
# 腾讯雲ミラーの追加
gem source -a http://mirrors.tencent.com/rubygems/
redis-dump のインストール
gem install ...
7月28日 04:04 投稿
Redisを用いた分散ロックの実装手法
分散ロックの要件
分散システムで共有データを操作する際、複数プロセス間の調整が必要です。高可用性のある分散ロックは以下の特性を満たす必要があります:
同一メソッドが同時に単一ノードの単一スレッドで実行される
ロック取得・解放の高パフォーマンス
デッドロック防止のための有効期限機構
再入可能なロック取得
非ブロッキングな取得失敗時の動作
Redisスタン ...
7月26日 20:26 投稿
RedisのPub/Subによるリアルタイムメッセージングと活用パターン
Redisにおけるパブリッシュ/サブスクライブの仕組み
Redisは、パブリッシュ/サブスクライブ(Pub/Sub)機能を内蔵しており、非同期で軽量なメッセージ通信を実現できます。この仕組みでは、送信側(パブリッシャー)が特定のチャンネルにデータを発行し、受信側(サブスクライバー)は対象チャンネルを監視することでリアルタイムにメッセージを受け取れます。
この通信モ ...
7月26日 18:28 投稿
Redisを用いたブログのいいね・フォロー機能の実装
ブログ投稿と閲覧機能の実装
ブログ投稿処理
@PostMapping
public Result createBlogPost(@RequestBody BlogEntry blogEntry) {
UserDTO currentUser = UserContext.getCurrentUser();
blogEntry.setAuthorId(currentUser.getId());
blogService.save(blogEntry);
return Result.success(blogEntry.getId());
}
画像アップロード処理
@PostMapping("upl ...
7月24日 04:39 投稿