
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 サイトの他の関連記事を参照してください。