Redis HyperLogLogによる効率的なユニークユーザー数計数
HyperLogLogの概要とメリット
Webサービスにおいて、特定のページのユニークユーザー数(UV)を計測することは非常に一般的な要件です。単純なアクセス数(PV)であればカウンタをインクリメントするだけで済みますが、重複を排除したUV計数の場合、単純なアプローチではメモリ効率が課題となります。
例えば、RedisのSet型を使用してユーザーIDを保存する方法があります。 ...
8月23日 15:50 投稿
Redis、ZooKeeper、Kafkaの管理スクリプト実装
Redisサーバー制御スクリプト
#!/bin/bash
REDIS_PORT=6379
LOCAL_IP=$(hostname -I | awk '{print $1}')
start_redis() {
if ! pgrep -f "redis-server" &> /dev/null; then
redis-server /opt/redis/config/redis.conf >/dev/null 2>&1
if [ $? -eq 0 ]; then
echo "Redis起動成功: $(pgrep -f "redis-server")"
else
echo "Redis起動失敗 - ...
8月15日 23:20 投稿
ソフトウェアエンジニア必須の基礎技術と実装パターン解説
Pythonのメモリ管理と基本文法
Pythonはメモリ管理のためにいくつかの最適化機構を備えている。範囲[-5, 256]の整数は「小整数プール」としてあらかじめキャッシュされ、ガベージコレクションの対象外となる。これより大きな整数は新たにオブジェクトが生成される。また、文字列に対しては「インターン機構」が働き、不変な単一単語などを共有参照させ、参照カウントが0に ...
8月12日 07:57 投稿
Mac環境におけるDockerを使用したNginx、PHP、MySQL環境の構築と負荷分散の実装
環境構成
検証環境および前提条件は以下の通りです。
OS: macOS Sonoma 14.3
アーキテクチャ: Apple Silicon (M3 Pro)
コンテナ管理: OrbStack または Docker Desktop 25.0.5
ターミナル: iTerm2
1. PHP-FPM環境の構築
まず、PHPアプリケーションの実行環境を準備します。PHP 8.2のFPMイメージを使用し、ソースコード用のディレクトリをローカルにマウントします。
# ワ ...
8月9日 14:44 投稿
Redisクラスタ構築:インストール方法と基本データ型
Redis概要:
一、概要Redisはオープンソースで、C言語で書かれた、ネットワーク通信をサポートし、メモリベースでも永続化も可能なキーバリューデータベースです。Redisのソースコードは比較的シンプルで、C言語の基礎知識があれば、ソースコードの50~60%は理解できるでしょう。現在、Redisの最大のクラスタ環境は新浪(Sina)が運用しているものと考えられています。Redi ...
8月8日 12:46 投稿
Spring BootでSecurityとJWTの統合
Spring Bootフレームワークを使用して、SecurityとJWTを統合し、ログイン、データアクセス認証、JWTによるログアウト、APIのロール制御、APIの権限制御を実装します。
使用技術: Spring Boot, Redis, Security, JWT
主要なコード:
pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<ar ...
8月6日 07:19 投稿
Djangoプロフィール画面とFastDFSカスタムストレージの実装
プロフィール画面に必要なデータ
マイページには「ユーザー名」「住所」「最近見た商品」が必要です。
住所は Address モデルから request.user.address_set.latest('create_time') で取得
閲覧履歴は Redis のリスト型で保存し、ログアウト後も保持
Redis キー設計
history_<user_id> = [sku_id, sku_id, ...]
ビュー実装
from django.contrib.auth.mixins impo ...
8月5日 10:58 投稿
Dockerのインストール手順と基本コマンド:MySQL・Redis環境の構築ガイド
1. 旧バージョンのクリーンアップ
既存の古いDockerパッケージがシステムに残っている場合、競合を避けるために以下のコマンドで削除します。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
...
8月4日 11:43 投稿
意味的類似性マッチング:Embeddingの基礎と実践
意味的類似性マッチングの基礎
Embedding表現の深化
自然言語処理や大規模言語モデル(LLM)のアプリケーションにおいて、関連する「コンテキスト」を取得することは極めて重要です。このコンテキスト取得を実現する中核技術がEmbeddingであり、関連する情報をベクトル空間にマッピングし、その類似度を基に最適な情報を引き出すプロセスを「意味的類似性マッチング」と ...
8月3日 09:11 投稿
Redisマスタースレーブ構成の実装と設定
Redisレプリケーションの特徴
Redisのマスタースレーブ同期メカニズムには以下の重要な特性があります。
1つのマスターサーバーが複数のスレーブサーバーにデータを配信可能
スレーブサーバーも他のスレーブとの接続を受け入れることができ、階層的な同期構造を形成
マスター側はノンブロッキング処理でクライアントリクエストへの影響を最小限に抑える
スレーブ側も同様 ...
8月3日 04:13 投稿