標籤:二進位 字串 有效期間 圖片 email
Redis 的資料類型
String類型及操作
String是最簡單的類型,一個Key對應一個Value,sting類型是二進位安全的。Redis的string可以包含任何資料,比如jpg圖片或者序列化的對象。
例子:
set name gxj
get name
輸出:gxj
Setnx:設定key對應的值為string類型的value,如果key 已經存在,則返回0,nx是not exist的意思。
例子:
set name zjz
斷行符號:則返回0,如果不存在,則會設定值
setex: 設定key對應的值為string類型的value,並指定此索引值對應的有效期間,單位為S
例子: setex name 10 zjz,此設定會覆蓋此前設定的相同的鍵,但是10秒後會到期,返回 nil
setrange: 設定指定的Key的value值的子字串
set email [email protected]
setrange eamil 4 qq.com
輸出: [email protected]
mset 一次設定多個key的值,成功則返回OK,表示所有值都設定了,失敗則返回0表示沒有任何值被設定
例子:
mset key1 k1 key2 k2 key3 k3
mget key1 key2 key3
返回: k1
k2
k3
msetnx : 一次設定多個key的值,成功則返回OK,表示所有值都設定了,失敗返回0,表示沒有任何值被設定,但是不會覆蓋以前設定的key
比如原來存在key3
現在設定
msetnx key8 8 key9 9 key3 3
返回0,則key8也不存在,key3值仍然為以前的值
getrange 擷取key的value的子字串
getrange email 0 5 擷取email 0到5的字元
incr 遞增加1
set num 1
incr num 輸出2
incrby num 5 每次加5,如果為負,則每次減
decr num 每次減1
decrby num 5 每次減5,負數則每次加5
append email ‘test‘ 追加test到email的值中
strlen email 指定鍵的value的字串長度
hash資料類型
redis hash 是一個string類型的field和value的映射表,它的添加和刪除操作,都是0和1,hash特別適合於儲存物件,相較於將對象的每個欄位存為單個的string類型,將一個Object Storage Service在hash中,會佔用更少的記憶體空間,並且更方便的儲存整個對象。
hset user001 name zjz
hset user001 age 1
hget user001 name 輸出:zjz
hsetnx: 設定hash filed為指定值,如果key不存在,則建立,否則返回0
hmset,hmget 大量設定,擷取
hincrby user001 age 2 一次增加2歲,負則減少
hexists user001 age 查看age是否存在
hlen user001 返回hash對象設定的鍵數
hdel user001 age 刪除鍵
hkeys user001 返回hash表中所有的欄位
hvals user001 返回hash表中所有的value
hgetall user001 返回hash表中所有的鍵和值
redis string和hash類型操作