簡介:
Redis hash命令
序號 | 命令及描述 |
---|---|
1 | HDEL key field1 |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | [HMGET key field1 |
10 | [HMSET key field1 value1 |
11 | |
12 | |
13 | |
14 | HSCAN key cursor [MATCH pattern] [COUNT count] 迭代哈希表中的鍵值對。 |
應用場景:
Hash的應用場景:(存儲一個用戶信息對象數據)
-
常用於存儲一個對象;
-
為什么不用String存儲一個對象呢?
Hash 是最接近關系型數據結構的數據類型,可以將數據庫一條記錄或程序中一個對象轉換成 hashMap 存放在redis中;
用戶ID為查找的key,存儲的value用戶對象包含姓名,年齡,生日等信息,如果用普通的key / value結構來存儲,主要有以下2中存儲方式:
-
第一種方式將用戶ID作為查找key,把其他信息封裝成一個對象以序列化的方式存儲,這種方式的缺點是,增加了序列化 / 反序列化的開銷,並且在需要修改其中一項信息時,需要把整個對象取回,並且修改操作需要對並發進行保護,引入CAS等復雜問題;
-
第二種方式是這個用戶信息對象有多少成員就存多少個key-value對,用戶ID對應屬性的名稱作為唯一標識來取得屬性的值,雖然省去了序列化開銷和並發問題,但是用戶ID為重復存儲,如果存在大量這樣的數據,內存浪費還是非常可怕的;
總結:
-