redis5種資料型別的底層資料結構

2021-09-22 18:30:53 字數 2200 閱讀 7229

redis客戶端建立

setnx key value  #只有key 不存在時,才設定key的值

儲存使用者的詳細資訊。用id作為key,value則用一組field-value的形式儲存。

lpush key value1 [value2]  #將乙個或多個值插入到列表頭部

lpop key #移出並獲取列表的第乙個元素

rpush key value1 [value2] #在列表尾部新增乙個或多個值

rpop key #移除並獲取列表最後乙個元素

lrem key count value #移除列表元素

lrange key start stop #獲取列表指定範圍內的元素

a.利用唯一性,可以訪問當天的活躍使用者列表。

b.利用集合操作,可以取不同興趣圈子的交集,可以取當天的新增使用者等。

sadd key member1 [member2] #向集合新增乙個或多個成員

sdiff key1 [key2] #返回給定所有集合的差集

sinter key1 [key2] #返回給定所有集合的交集

sunion key1 [key2] #返回所有給定集合的並集

sismember key member    #判斷 member 元素是否是集合 key 的成員

smembers key    #返回集合中的所有成員

srem key member1 [member2]   # 移除集合中乙個或多個成員

銷量排名,積分排名,時間線等

zadd key score1 member1 [score2 member2]    #向有序集合新增乙個或多個成員,或者更新已存在成員的分數

zincrby key increment member    #有序集合中對指定成員的分數加上增量 increment

zrangebyscore key min max [withscores] [limit]    #通過分數範圍返回有序集合指定區間內的成員

zinterstore destination numkeys key [key …]    #計算給定的乙個或多個有序集的交集,並將結果集儲存在新的有序集合 key 中

zunionstore destination numkeys key [key …]    #計算給定的乙個或多個有序集的並集,並儲存在新的 key 中

redis 5種資料型別應用場景

string 型別 簡單緩衝 常規計數 微博關注數 分布式id 分布鎖 結合lua指令碼 list 型別可以當作佇列和棧這兩種資料結構來進行使用 粉絲列表 關注列表 我關注了誰,誰關注了我 訊息時間線 訊息佇列 hash 型別hash 型別使用的就比較頻繁了,它可以把一組關聯的資料放入同乙個 key...

redis五種資料型別及其底層資料結構

list底層採用壓縮列表和雙向鍊錶儲存,當元素數量小於512個且元素長度均小於64b時,採用壓縮列表,否則採用雙向鍊錶。hash底層採用壓縮列表和雜湊表儲存。當所有鍵值對的鍵和值長度都小於64b且數量小於512時,就使用壓縮列表,先放入key,再放入value 否則就使用雜湊表,直接將每乙個鍵值對存...

Redis的5種資料型別

redis支援5種資料型別,它們描述如下 redis的字串是位元組序列。在redis中字串是二進位制安全的,這意味著他們有乙個已知的長度,是沒有任何特殊字元終止決定的,所以可以儲存任何東西,最大長度可達512兆。例子redis 127.0 0.1 6379 set name yiibai okred...