如何實現Redis裡的自增ID計數器
在關係型資料庫MySQL中我們可以透過設定欄位屬性為AUTO_INCREMENT來實現每增加一條記錄自動為其生成一個唯一的遞增ID的目的,而Redis中可以透過另一種模式來實現:對於每一類物件使用名為物件型別:count的鍵來儲存當前型別物件的數量,每增加一個新物件時都使用INCR命令遞增該鍵的值。
自增ID計數器的實現思路相當簡單:每當某個操作發生時,向 Redis 傳送一個 INCR 命令。
Redis Incr 命令將 key 中儲存的數字值加一。
如果 key 不存在,那麼 key 的值會先被初始化為 0 ,然後再執行 INCR 操作。
如果值包含錯誤的型別,或字串型別的值不能表示為數字,那麼返回一個錯誤。
例如:
127.0.0.1:6379> set chenfeng 10
OK
127.0.0.1:6379> incr chenfeng
(integer) 11
127.0.0.1:6379> get chenfeng
"11"
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2158417/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 自增ID的實現
- jmeter如何實現引數自增JMeter
- Laravel 自增瀏覽數實現(資料庫 + Redis)Laravel資料庫Redis
- 利用Redis實現高併發計數器Redis
- redis實現分散式id方案Redis分散式
- Golang的滑動視窗計數器Redis限速實現GolangRedis
- 你有了解css計數器(序列數字字元自動遞增)嗎?如何透過css的content屬性實現呢?CSS字元
- 利用 Redis 生成序列號的功能實現編號自增Redis
- 如何使用資料庫和Redis開發各系統獨立的自增ID生成器資料庫Redis
- MogDB/openGauss如何實現自增主鍵
- Redis | 第7章 Redis 伺服器《Redis設計與實現》Redis伺服器
- 鈑金件如何實現自動引數化設計
- Mybatis通用mapper獲得insert後的資料實體的自增IDMyBatisAPP
- Flutter倒數計時/計時器的實現Flutter
- Redis 實戰 —— 08. 實現自動補全、分散式鎖和計數訊號量Redis分散式
- Redux實現組合計數器Redux
- Redis如何簡化實現微服務的設計模式 – thenewstackRedis微服務設計模式
- 【Redis面試題】如何使用Redis實現微信步數排行榜?Redis面試題
- Laravel 可以修改預設的自增ID開始值了Laravel
- 如何利用 Redis 快速實現簽到統計功能Redis
- SAPC4C裡如何實現SalesUnit和Seller的自動determination
- 手動執行SQL觸發器id自增報錯處理方式SQL觸發器
- Redis設計與實現Redis
- 《redis設計與實現》Redis
- 如何使用 redis 實現限流Redis
- 分散式ID系列(3)——資料庫自增ID機制適合做分散式ID嗎分散式資料庫
- Composition實現科學文字計數器
- CSS 計數器的妙用:數字遞增動效CSS
- ABP vNext 實現租戶Id自動賦值插入賦值
- Twitter的分散式自增ID演算法snowflake (Java版)分散式演算法Java
- Jmeter——迴圈控制器中實現Counter計數器的次數重置JMeter
- mysql獲取指定表當前自增id值MySql
- 關於自增id,你可能還不知道
- Mybatis Plus 3.X版本的insert填充自增id的IdType.ID_WORKER策略原始碼分析MyBatis原始碼
- 計數器方式實現非同步併發非同步
- Redis如何實現分散式鎖Redis分散式
- Redis如何實現多可用區?Redis
- MyBatis的Insert操作自增主鍵的實現,Mysql協議與JDBC實現MyBatisMySql協議JDBC