redis學習筆記

2021-08-14 05:13:29 字數 1354 閱讀 8338

redis命令參考:

redis-cli中那些或許我們還不知道的一些實用小功能:

資料型別和命令:

1.簡單型別:

get/set key value簡單操作

incr可以對值增1(為空的內容執行incr結果為1),會檢查值的型別,如果不是整數型別,會報錯。表示的最大範圍為2^64-1,也就是9223372036854775807,超過這個範圍就會報錯。認為redis檢查值是否是整數是通過判斷每一位是否是數字0-9對應的utf-8編碼來實現的。

decr對值減1。還有增加指定資料的操作:incrby key increment,decrby key incrment。 還有更神奇的操作:incrbyfloat/decrbyfloat  key incremnet(浮點數的範圍也是雙精度)

我猜測redis的實現原理是這樣的(有待後面學習後驗證):

1.存在資料庫的是字元。

2.當你執行incr/decr/incrbyfloat/decrbyfloat命令的時候,對字元進行判斷,是否能夠轉換成整數或者浮點數,以及是否溢位。

3.進行字元到數值的轉換,並進行運算,運算完成後再轉換成字串存回去。

同時redis有限制條件:對於只能轉換成浮點數的字串,無法執行incr/decr命令。而能夠轉換成整數或浮點數的,自然能夠執行incrbyfloat/decrbyfloat

"getbit key offset "  "setbit key offset value"

對位進行操作,要記住字串是以ascii碼形式儲存的。

2.雜湊型別

雜湊型別即是說乙個key鍵對應的值是雜湊型別。

如:hset age a  21

hset age b  22

hset age c  23

hget key filed 

hmget/hmset 可以同時操作多個鍵值對

hgetall 獲取所有鍵和值

hkeys key

hvals key

hexists key filed 判斷file是否存在

hsetnx key filed value filed不存在時進行設定

hincrby/hincrbyfloat key filed value,理解了上面關於incr/decr的解釋後,這個概念沒有什麼疑惑的。

hdel key filed [filed ...]

3.列表型別

即是說乙個key鍵對應的值是列表型別

4.set型別

即是說乙個key鍵對應的值是set型別

5.有序集合型別

即是說乙個key值對應的值是有序set型別

疑問:1.為什麼整數可以加浮點數,浮點數卻不可以加整數?

2.

redis 學習筆記

本文寫作源於最近產品中部分功能用到了redis redis在功能上是乙個與memecache類似的軟體,但它比memecache提供了更強大的功能。redis本質上是乙個key value型別的記憶體資料庫。其value可以是string,list,set,sorted set,hash。很多地方都...

redis學習筆記

1.redis的無序集合 sadd命令產生乙個無序集合 smembers檢視集合元素 sismember用於檢視集合是否存在,匹配項包括集合名和元素個數。匹配成功返回1,匹配失敗返回0 2.有序集合 zadd 生成乙個有序集合。zrange檢視正序的集合,zrevrange檢視反序的集合 set和g...

redis學習筆記

redis啟動伺服器和客戶端的相關命令 string型別 乙個key對應乙個value set key value 比如 set name geyule setnx 如果key存在返回0,nx表示not exist setex 指定有效期 setrange 替換 setrange key n val...