Redis-字符串(string)基础
生活随笔
收集整理的這篇文章主要介紹了
Redis-字符串(string)基础
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
redis是以key?value的數(shù)據(jù)結(jié)構(gòu)存儲的,每個key都是唯一的,字符串是redis里面最簡單的數(shù)據(jù)結(jié)構(gòu),它的內(nèi)部其實是一個字符數(shù)組。
redis里面的字符串是一個動態(tài)字符數(shù)組,有點類似Java里的arrayList,采用預(yù)分配冗余的方式來減少內(nèi)存的頻繁分配,內(nèi)部為當(dāng)前字符串分配的實際空間 capacity一般要高于實際字符串長度len。當(dāng)字符串長度小于1MB時,擴容都是加倍現(xiàn)有的空間。如果字符串長度超過1MB,擴容時一次只會多擴1MB 的空間,字符串最大長度為 512MB?。
下面我們嘗試常用的一些命令
>set name mangoOK>get name mango"mango">exists name(intgeter)>del name(intgeter)>get name(nil)批處理
>mset name1 mango name2 loveOK>mget name1 name21)"mango"2)"love"延期
> set name mangoOK> get name"mango"> expire name 5...5s后>get name(nil)?>setex?name?5?mango #5s?后過期,等價于?set+exp工?re> get name"mango"...5s后> get name(nil)?>setnx?name?mango???#如果 name不存在就執(zhí)行set(integer)?1> get name"mango"> setnx name love(integer)?0 #因為?name?已經(jīng)存在,所以?set?創(chuàng)建不成功#如果?name?不存在就執(zhí)行?set?創(chuàng)建> get name"mango"?????#值沒有改變計數(shù)
如果value是一個整數(shù),可以執(zhí)行自增操作,自增的范圍signed long 的最大值和最小值之間,超出了這個范圍,Redis 會報錯。
>set age 18OK>incr?age(integer)19>incrby?age?2(integer)21>incrby age -2(integer)19>set?codemax?9223372036854775807OK> incr codemax(error) ERR increment or decrement would overflow?
?
?
一名正在搶救的coder
筆名:mangolove
CSDN地址:https://blog.csdn.net/mango_love
GitHub地址:https://github.com/mangoloveYu
?
總結(jié)
以上是生活随笔為你收集整理的Redis-字符串(string)基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 组合模式测试组合模式(Composite
- 下一篇: linux cmake编译源码,linu