Windows で Redis を実行しようとした結果、公式サポートがないことが判明したことはありますか?心配しないで!私自身もこれと格闘した後 (本番サーバーを 1、2 回ダウンさせた?)、Windows 上で Redis を実行するための信頼できる 3 つの方法と、レート制限のための適切な実装を見つけました。
docker pull redis docker run --name redis-test -p 6379:6379 -d redis
利点: 本番環境とまったく同じように動作します
短所: Docker デスクトップはリソースを大量に消費する可能性があります
wsl --install # In PowerShell as admin # Install Ubuntu from Microsoft Store, then: sudo apt update sudo apt install redis-server sudo service redis-server start
プロ: 軽量
短所: WSL ネットワーキングは扱いにくい場合があります
redis-cli
長所: Windows サービスとして実行
欠点: 公式にはサポートされていません
最近、Firebase プロジェクトのレート制限が必要になりました。 Firebase は優れていますが、次の理由からレート制限には理想的ではありません。
しかし、Redis は次の理由から完璧です。
これは、正常に動作するクリーンな Express ミドルウェアです:
const Redis = require('ioredis'); const redis = new Redis(); async function rateLimit(req, res, next) { const key = `limit:${req.ip}`; const limit = 100; // requests per window const window = 3600; // 1 hour in seconds try { const hits = await redis.incr(key); if (hits === 1) { await redis.expire(key, window); } if (hits > limit) { return res.status(429).json({ message: "Slow down there, speed racer!" }); } next(); } catch (err) { console.error('Redis error:', err); next(); // Fail open } }
レート制限のために Firebase から Redis に切り替える:
✅ 以下に最適:
❌ 次の場合はスキップしてください。
Redis 接続の問題の 90% は次の理由によります:
Redis は Windows を正式にサポートしていない可能性がありますが、これらの方法を使用すれば問題は解決します。特にレート制限については、普通の車の代わりにレーシング カーを使用するようなものです。確かに、どちらでも目的地に到達できますが、一方はスピードを重視して設計されています。
コーディングを楽しんでください! ?
追伸- 接続の問題のデバッグに何時間も費やす前に、必ず Redis を起動してください。これについては信じてください。 ?
以上がWindows 上の Redis とレート制限: 実践ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。