Redisのいくつかの使用シーン

1673 ワード

Redisキャッシュウォームアップ、キャッシュ雪崩、キャッシュブレークスルー、キャッシュスルー
1、redisキャッシュウォームアップ:キャッシュウォームアップとは、サービスを再起動したばかりでデータベースがクラッシュすることです.
原因:サーバーが再起動した後、キャッシュが空で、ユーザーの要求データが何度もヒットせず、データベースからクエリーするしかなく、データベースの圧力が大きすぎて、応答がタイムリーではなく、要求がタイムアウトして、データベースがクラッシュして、再起動するなど効果がありません.
処理方案:事前にいくつかの高熱のデータをredisに追加して、データベースのサービスの圧力が適切に減少することを保証します....
2、redisキャッシュ雪崩、キャッシュ雪崩は同じ時間内に大量のkeyが期限切れになり、redisへのアクセスを要求する際にヒットしなかった.要求はまたデータベースから走って行った.データベースの圧力が大きく、崩壊した.アプリケーションサーバが崩壊した.redisが崩壊した.
原因:同時間に大量のkeyが期限切れになったため
処理方案:この処理は多方面から最適化しなければならなくて、redisの中で高熱データに対して遅延の処理を行って、データベースはいくつかの遅いクエリーに対して、極めてタイムアウトのSQLが現れる可能性があって最適化の処理を行って、Nginxを通じて、などキャッシュのマルチレベルの処理を行って、redisの中でなくて、先に他のキャッシュの中でデータがあるかどうかを見て、なければデータベースにアクセスして、フィルタリングすることができます.
3、キャッシュ破壊、キャッシュ破壊はあるkeyが突然期限切れになり、大量の要求が来て命中せず、データベースに駆けつけ、データベースが崩壊した.
原因:単一keyが期限切れになった.例えば、ある女性スターが浮気をした男性スター、男性スターがネット上でいくつかの写真を暴露した.急に火事になった.そしてみんなが注文して中に入ってみると、一気に多くのリクエストがredisにアクセスして、結局redisというkeyが期限切れになって、データベースが崩れてしまいました.
処理スキーム:雪崩との差は多くないが,単一keyのみであり,処理スキームも多重化可能であることが多い.
4、キャッシュスルー、これは一般的にハッカー攻撃で、urlを要求するのは合法ではなく、大量のkeyが命中していないのが特徴です.
原因:大量のkeyがヒットしないと、key自体は存在せず、データベースも存在しません.
処理:まず警察に通報して、それから彼の要求によってRedisの中でデータを保存して、時効は30-60 sで、普通は5分を超えてはいけなくて、ホワイトリストあるいはブラックリストなどをプラスします.
5.redisは、ある会社のapiインタフェースが毎分10回しか一般ユーザーに呼び出されず、10回を超えると会員のアップグレードを促す呼び出しは許可されません.         
setex userID 60 max-  
incr userID
   value   max ,    ,                 。

6.redisは時間順に基づくデータ操作に適用され、具体的な時間には注目しない.例えば、微信チャットメッセージ受信、Aユーザ受信、BCD送信用
      ,BDCDC
lrem A 1 B
lpush A B
lrem A 1 D
lpush A D
lrem A 1 C
lpush A C
lrem A 1 D
lpush A D
lrem A 1 C
lpush A C
        CDB