redis學習筆記 (2)

2022-04-01 03:40:29 字數 2742 閱讀 2965

4.redis中的string型別

string型別是最簡單的型別,乙個key對應乙個value,string型別是二進位制安全的。redis的string可以包含任何資料,比如jpg或者序列化的物件。

儲存string型別的鍵值對。一般形式:set key value; setnx key value; setex key time value

setnx判斷插入內容的鍵是否存在,若鍵不存在,返回1,成功插入;若存在,返回0,插入失敗。如果不用setnx用set的話,若插入內容的鍵已經存在,那麼此次插入的值將會覆蓋原先的這個鍵對應的值。

setex新增了value的存在時間time,當超過這個時間key所對應的value值將被清空,再查這個key將返回nil(即空)。

setrange key num value0 將原先key對應的value下標num及其之後的數替換為value0,這裡email原先為[email protected]

getrange key num0 num1 從key所對應value值的num0至num1處獲取值。

mset和mget是批量設定和獲取,msetnx,msetex和setnx,setex大體功能相同。

getset key value將原先key所對應value替換為現在的value,並返回顯示原先的value。

incr對key所對應的值進行自加操作,如果key不存在,則置key的值為1。

decr對key所對應的值進行自減操作,如果key不存在,則置key的值為-1。

incrby key num 對key所對應值進行加num操作,decrby同理。

strlen key 獲得key所對應字串的長度。

5.redis中的hash型別

redis hash是乙個string型別的field和value的對映表。它的新增,刪除操作都是0(1)(平均)。hash特別適合用於儲存物件。相較於將物件的每個欄位存成單個string型別。將乙個物件儲存在hash型別中會占用更少的記憶體,並且可以更方便的訪問整個物件。

hset設定hash field為指定值,如果key不存在,則先建立;get方法相似。

hsetnx設定hash field為指定值,如果key不存在,則先建立。如果存在返回0;get方法相似。

hmset同時設定hash的多個field;get方法相似。

hincrby指定的hashfield加上給定值。

hexists測試指定field是否存在。

hlen返回指定hash的field數量。

hdel刪除指定hash的field。

hkeys返回hash的所有field。

hvalues返回hash的所有value。

hgetall獲取某個hash中全部的field和value。

6.redis中的list型別

list是乙個鍊錶結構,主要功能是push,pop,獲取乙個範圍的所有值等等,操作中key理解為鍊錶的名字。

redis的list型別其實就是乙個每個子元素都是string型別的雙向鍊錶。我們可以通過puth,pop操作從鍊錶的頭部或者尾部新增刪除元素,這樣list既可以作為棧,又可以作為佇列。

lpush list value 從頭部向list中壓入資料。

rpush list value 從尾部向list中壓入資料。

linsert list before value0 value1 在value0之前插入value1。

lrange list 0 -1 從頭到尾列印出list的資料。

lrem list num value0 從list中刪除num個value0,從頭部開始刪。

ltrim list num0 num1 保留list中第num0和num1的資料(有第0個元素),刪除其他的。

lpop list 從list頭部彈出乙個資料。

rpop list 從list尾部彈出乙個資料。

rpoplpush list1 list2 從list1尾部中彈出乙個資料存入list2頭部,並返回這個存入的資料。

Redis 學習筆記2

資料型別 string 字串型別 乙個鍵最多儲存512mb 1 set 設定key對應的value,如果key存在,同名會產生覆蓋 set key vallue 2 get 根據key找到對應的值 get key key 不存在,返回nil key 不是字串,會報錯 3 getrange 返回字串中...

Redis學習筆記(2)

資料單位 可以包含其他配置檔案,而redis.conf作為總的配置檔案 網路埠的繫結 tcp backlog 在高併發的環境下需要高的backlog值來避免慢客戶端連線問題 tcp keepalive 連線存活的檢查,即心跳機制,預設300s loglevel 日誌水平 預設notice 與rdb持...

redis學習筆記 2 redis的初始使用

set key value 新增鍵值對 get key 根據key獲取value del key 根據key刪除鍵值對 incr key 將value 1,如果沒有該key 預設設定該key值為0,並 1 key的型別必須為integer decr key 同上,將value 1 incrby ke...