ホームページ  >  記事  >  データベース  >  Redis の自動インクリメント数

Redis の自動インクリメント数

尚
オリジナル
2020-05-08 09:29:185322ブラウズ

Redis の自動インクリメント数

INCR key

key に格納されている数値を 1 つ増やします。

key が存在しない場合は、まず key の値が 0 に初期化されてから、INCR 演算が実行されます。

値に間違った型が含まれている場合、または文字列型の値が数値として表現できない場合は、エラーが返されます。

この演算の値は、64 ビット (ビット) の符号付きデジタル表現に制限されます。

これは文字列に対する操作です。Redis には専用の整数型がないため、キーに格納された文字列は 10 進数の 64 ビット符号付き整数として解釈され、INCR 操作が実行されます。

利用可能なバージョン:

>= 1.0.0

時間計算量:

O(1)

戻り値:

INCR コマンド実行後のキーの値。

redis> SET page_view 20
OK
redis> INCR page_view
(integer) 21
redis> GET page_view    # 数字值在 Redis 中以字符串的形式保存
"21"

カウンターは、R​​edis のアトミックな自己インクリメント操作が実装できる最も直感的なモードです。その考え方は非常に単純で、操作が発生するたびに INCR コマンドを Redis に送信します。

たとえば、Web アプリケーションで、1 年間毎日のユーザーのクリック数を知りたい場合は、ユーザー ID と関連する日付情報をキーとして使用するだけで、それを毎年実行できます。ユーザーがページをクリックした時間。自動インクリメント操作は 1 回で十分です。

たとえば、ユーザー名が Peter で、クリック時刻が 2012 年 3 月 22 日の場合、コマンド INCR peter::2012.3.22 を実行します。

この単純なパターンは、次の方法で拡張できます。

  • INCR と EXPIRE を組み合わせて使用​​すると、指定された生存時間 (カウント) の目的内でのみカウントを実現できます。 。

  • クライアントは、GETSET コマンドを使用して、カウンタの現在値をアトミックに取得し、カウンタをクリアできます。詳細については、GETSET コマンドを参照してください。

  • DECR や INCRBY などの他の増分/減分操作を使用すると、ユーザーはこれらのコマンドに対してゲームのスコアラーなどのさまざまな操作を実行してカウンターの値を増減できます。

redis の詳細については、redis 入門チュートリアル 列に注目してください。

以上がRedis の自動インクリメント数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。