INCR key
將 key 中儲存的數字值增加。
如果 key 不存在,那麼 key 的值就會先初始化為 0 ,然後再執行 INCR 作業。
如果值包含錯誤的類型,或字串類型的值不能表示為數字,那麼回傳一個錯誤。
本運算的值限制在 64 位元(bit)有符號數字表示之內。
這是一個針對字串的操作,因為 Redis 沒有專用的整數類型,所以 key 內儲存的字串被解釋為十進位 64 位元有符號整數來執行 INCR 操作。
可用版本:
>= 1.0.0
時間複雜度:
O(1)
傳回值:
執行INCR 指令之後key 的值。
redis> SET page_view 20 OK redis> INCR page_view (integer) 21 redis> GET page_view # 数字值在 Redis 中以字符串的形式保存 "21"
計數器是 Redis 的原子性自增操作可實現的最直觀的模式了,它的想法相當簡單:每當某個操作發生時,向 Redis 發送一個 INCR 命令。
例如在一個web 應用程式中,如果想知道使用者在一年中每天的點擊量,那麼只要將使用者ID 以及相關的日期資訊作為鍵,並在每次使用者點擊頁面時,執行一次自增操作即可。
例如使用者名稱是 peter ,點選時間是 2012 年 3 月 22 日,那麼執行指令 INCR peter::2012.3.22 。
可以用以下幾種方式擴展這個簡單的模式:
可以透過組合使用INCR 和EXPIRE ,來達到只在規定的生存時間內進行計數( counting)的目的。
客戶端可以透過使用 GETSET 指令原子性地取得計數器的目前值並將計數器清零,更多資訊請參考 GETSET 指令。
使用其他自增/自減操作,例如DECR 和INCRBY ,使用者可以透過執行不同的操作增加或減少計數器的值,例如在遊戲中的記分器就可能用到這些命令。
更多redis知識請關注redis入門教學欄位。
以上是redis自增計數的詳細內容。更多資訊請關注PHP中文網其他相關文章!