redis之字串型別(string)--計數器實現
字串型別是redis最基本的型別,如果僅僅使用字串型別,redis和memcache操作非常相近。唯一不同就是redis字串可以支援512M,而memcache最多隻能支援1M。
例子:設定和獲取字串的值
> set str_name lizhibin
OK
> get str_name
"lizhibin"
S.N | 命令 & 描述 |
---|---|
1 |
SET key value 此命令用於在指定鍵設定值 |
2 |
GET key 鍵對應的值。 |
3 |
GETRANGE key start end 得到字串的子字串存放在一個鍵 |
4 |
GETSET key value 設定鍵的字串值,並返回舊值 |
5 |
GETBIT key offset 返回儲存在鍵位值的字串值的偏移 |
6 |
MGET key1 [key2..] 得到所有的給定鍵的值 |
7 |
SETBIT key offset value 設定或清除該位在儲存在鍵的字串值偏移 |
8 |
SETEX key seconds value 鍵到期時設定值 |
9 |
SETNX key value 設定鍵的值,只有當該鍵不存在 |
10 |
SETRANGE key offset value 覆蓋字串的一部分從指定鍵的偏移 |
11 |
STRLEN key 得到儲存在鍵的值的長度 |
12 |
MSET key value [key value ...] 設定多個鍵和多個值 |
13 |
MSETNX key value [key value ...] 設定多個鍵多個值,只有在當沒有按鍵的存在時 |
14 |
PSETEX key milliseconds value 設定鍵的毫秒值和到期時間 |
15 |
INCR key 增加鍵的整數值一次 |
16 |
INCRBY key increment 由給定的數量遞增鍵的整數值 |
17 |
INCRBYFLOAT key increment 由給定的數量遞增鍵的浮點值 |
18 |
DECR key 遞減鍵一次的整數值 |
19 |
DECRBY key decrement 由給定數目遞減鍵的整數值 |
20 |
APPEND key value 追加值到一個鍵 |
具體的操作,這裡不列舉,看看文件就可以了,我們來看看,redis的字串可以實現什麼好玩的功能。
1)實現計數器
計數器,簡單來說是一個自增長的數值,比如使用者的投票數,網站的訪問次數等等。以往自增長ID,可以通過mysql的自增主鍵實現,但是效能卻不高,而且採用分庫分表策略的時候,無法獲取唯一的自增ID。通過redis字串型別,可以實現一個簡單的計數器,貼上虛擬碼!
return incr auto_number
incr命令是增加鍵的整數值一次,如果鍵沒有被設定,則設定為1,返回自增後的數值。這裡利用了redis的原子性,即同一個鍵只允許一個客戶端操作,確保自增值準確。
相關文章
- Redis的字串型別(String)Redis字串型別
- Redis 五大資料型別之 String(字串)Redis大資料資料型別字串
- Redis 字串型別實現內幕Redis字串型別
- Redis 設計與實現 6:五大資料型別之字串Redis大資料資料型別字串
- Redis之string型別及操作Redis型別
- String:字串型別字串型別
- javascript型別系統——字串String型別JavaScript型別字串
- redis-6.string型別Redis型別
- Redis筆記(4)redis五大資料型別1----string(字串)Redis筆記大資料資料型別字串
- String型別字串判斷非空型別字串
- Redis資料結構(一)-Redis的資料儲存及String型別的實現Redis資料結構型別
- Redis 設計與實現 9:五大資料型別之集合Redis大資料資料型別
- 2、Redis的資料型別-stringRedis資料型別
- 利用Redis實現高併發計數器Redis
- 操作型別之字串型別字串
- Redis 設計與實現 8:五大資料型別之雜湊Redis大資料資料型別
- Redis中String型別常用命令Redis型別
- Redis命令String(字串)教程Redis字串
- 字串型別數字order by字串型別
- Redis 設計與實現 3:字串 SDSRedis字串
- Redis學習手冊(String資料型別)Redis資料型別
- Redis字串型別內部編碼剖析Redis字串型別
- 如何實現Redis裡的自增ID計數器Redis
- Golang的滑動視窗計數器Redis限速實現GolangRedis
- 使用concatenate連線時,字串型別(String)要比字元型別(C)快字串型別字元
- “tr”和字串型別的string str = "tr"對比字串型別
- Javascrip 之 字串處理 & 定時器 & 型別轉換Java字串定時器型別
- mybatis sql String>Double, 型別引數被強轉為數值型別MyBatisSQL型別
- C++之string型別詳解C++型別
- 資料型別之字串篇資料型別字串
- 基本資料型別之字串資料型別字串
- Redis 資料型別及其使用場景 String 篇Redis資料型別
- 帶你掌握Redis資料型別:string和HashRedis資料型別
- Redis 實戰篇:巧用資料型別實現億級資料統計Redis資料型別
- redis string 簡單動態字串Redis字串
- Redis之set型別及操作Redis型別
- Redis之list型別及操作Redis型別
- Redis之hash型別及操作Redis型別