redis五種資料型別詳解

2021-09-24 06:06:22 字數 2470 閱讀 5497

儲存中文資料,讀取亂碼 在啟動客戶端的時候, 加上--raw
set/get

設定key對應的值為string型別的value

獲取key對應的值

mget

批量獲取多個key的值,如果可以不存在則返回nil

incr&& incrby

incr對key對應的值進行加加操作,並返回新的值;incrby加指定值

decr && decrby

decr對key對應的值進行減減操作,並返回新的值;incrby減指定值

setnx

設定key對應的值為string型別的value,如果key已經存在則返回0 不存在返回1

setex

設定key對應的值為string型別的value,並設定有效期

getrange

獲取key對應value的子字串 類似於擷取。 擷取這個字串的一部分 比如 getrange key 0 3

mset

批量設定多個key的值,如果成功表示所有值都被設定,否則返回0表示沒有任何值被設定

msetnx

同mset,不存在就設定,不會覆蓋已有的key

getset

設定key的值 並返回新的值

hash是乙個string型別的field和value之間的對映表

redis的hash資料型別的key(hash表名稱)對應的value實際的內部儲存結構為乙個hashmap

hash特別適合儲存物件

相對於把乙個物件的每個屬性儲存為string型別,將整個物件儲存在hash型別中會占用更少記憶體。

所儲存的成員較少時資料儲存為zipmap,當成員數量增大時會自動轉成真正的hashmap,此時encoding為ht。

運用場景: 如用乙個物件來儲存使用者資訊,商品資訊,訂單資訊等等。

hash命令講解:

hset——設定key對應的hashmap中的field的value

hget——獲取key對應的hashmap中的field的value

hgetall——獲取key對應的hashmap中的所有field的value

hlen--返回key對應的hashmap中的field的數量

hmset——設定多個key對應的hashmap中的field的value

hdel——刪除key對應fieid 乙個或者多個

list的命令講解以及使用場景剖析 使用者:訊息佇列 mq redis作為佇列

lpush——在key對應的list的頭部新增乙個元素

lrange——獲取key對應的list的指定下標範圍的元素,-1表示獲取所有元素

lpop——從key對應的list的頭部刪除乙個元素,並返回該元素

rpush——在key對應的list的尾部新增乙個元素

rpop——從key對應的list的尾部刪除乙個元素,並返回該元素

lindex——從key對應的list中根據下標查詢值

lrem——刪除key中對應的下標 示例:lrem key 1 值

hashset排重
sadd——新增乙個key 或多個值,

smenbers ——檢視key中的值,

spop——隨機移除乙個元素

sdiff——求差集 求出兩個key中沒有的結果集

sunion——求並集 求出兩個key中 所有存在的key重複的key只取乙個

sinter—— 求交集 求出兩個key中相同的結果集

簡介:set的基礎增加順序score,再根據score進行排序 實戰:通過sortset實現排行榜

zadd ——在key對應的zset中新增乙個元素 zadd myzset 1 「on3」 2 「two」 3 「three」

zrange——獲取key對應的zset中指定範圍的元素,-1表示獲取所有元素 zrange myzset 0 -1

zrem——刪除key對應的zset中的乙個元素 zrem myzset one

zrangebyscore——返回有序集key中,指定分數範圍的元素列表,排行榜中運用 zrangebyscore myzset 2 3

zrank——返回key對應的zset中指定member的排名。其中member按score值遞增(從小到大); 排名以0為底,也就是說,score值最小的成員排名為0,排行榜中運用 zrange myzset 0 -1 withscores

set是通過hashmap儲存,key對應set的元素,value是空物件 sortset是怎麼儲存並實現排序的呢,hashmap儲存,還加了一層跳躍表 跳躍表:相當於雙向鍊錶,在其基礎上新增前往比當前元素大的跳轉鏈結

redis 是乙個開源(bsd許可)的,記憶體中的資料結構儲存系統,它可以用作資料庫、快取和訊息中介軟體。 它支援多 種型別的資料結構,如 字串(strings)、雜湊(hashes)、 列表(lists)、 集合(sets)、 有序集合(sorted sets)等。

Redis 五種資料型別

一 前言 上篇部落格已經對redis的一些基本知識做了一些簡介,這篇部落格,將簡單介紹一些redis的五種資料型別。分別為string 字串 hash 雜湊 list 鍊錶 set 集合 zset 有序集合 對這些型別可以執行很多原子性的操作 比如向乙個string型別的value後面追加字串 向l...

Redis 五種資料型別

目錄 redis共有strings hashs lists sets sorted sets五種資料型別,可以說已經比較豐富了。下面只對這幾種資料型別的資料結構與用途做簡要介紹。至於每種資料型別的操作api,這裡只簡單一提,不再一一詳細介紹,有需要的使用者可以google即可。string是最簡單的...

Redis 五種資料型別

redis支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 及zset sorted set 有序集合 資料型別一 字串 0.1 6379 set name hubotao2 ok127.0 0.1 6379 get name hubotao2 資料型別二 hash...