Redis 儲存Hash(基本概念 命令)

2022-02-19 03:02:42 字數 2924 閱讀 1522

1、hash型別

(1)概念

將乙個物件型別儲存在hash型別要比儲存在stringt型別占用更少的記憶體空間(相比於json,json是以字串的形式儲存的),可以實現對整個物件的訪問。因此,hash更適合儲存物件

物件以字串的形式儲存會增加序列化與反序列化的開銷,對物件的值進行修改的時候需要對併發進行控制,會降低程式的效率,而redis沒有這些缺陷。但是,當redis的多個屬性以鍵值對的形式儲存的時候,hash的名字是重複儲存的,會造成記憶體的浪費

student:1 name zhai

student:1 age 12

而以字串的形式儲存就不存在重複儲存的現象,乙個物件只儲存乙個名稱即可

student
(2)結構

(3)應用

2、命令

(1)單個訪問

方式一:此種方式不利於管理

所有的資料都儲存在一起,不方便檢視

方式二:

此種方式結構更清晰,利於對資料的管理

127.0.0.1:6379> hget student:1 name

"zhai"

127.0.0.1:6379> hget student:2 name

"zhang"

(2)訪問多個資料

方式一:

一次儲存多個,單個取出

一次取出多個·:

方式二:

127.0.0.1:6379> hmset student:3 name tom age 12

ok127.0.0.1:6379> hget student:3 name

"tom"

127.0.0.1:6379> hmget student:3 name age

1) "tom"

2) "12"

(3)取出所有的資料

(4)刪除

刪除單個鍵值對

127.0.0.1:6379> hgetall student:3

1) "name"

2) "tom"

3) "age"

4) "12"

127.0.0.1:6379> hdel student:3 age

(integer) 1

127.0.0.1:6379> hgetall student:3

1) "name"

2) "tom"

刪除所有鍵值對

127.0.0.1:6379> keys *

1) "student:3"

2) "student:1"

3) "student:2"

4) "myhash"

127.0.0.1:6379> del myhash

(integer) 1

127.0.0.1:6379> keys *

1) "student:3"

2) "student:1"

3) "student:2"

(5)欄位的數量

127.0.0.1:6379> hmset student:4 name lll age 12

ok127.0.0.1:6379> hlen student:4

(integer) 2

(6)增加字段

127.0.0.1:6379> hmset student:4 name lll age 12

ok127.0.0.1:6379> hlen student:4

(integer) 2

127.0.0.1:6379> hset student:4 score 123

(integer) 1

127.0.0.1:6379> hgetall student:4

1) "name"

2) "lll"

3) "age"

4) "12"

5) "score"

6) "123"

(7)減小數值

(8)判定指定的鍵是否存在:返回1代表有,0沒有。

(9)獲取所有的鍵:

(10)獲取所有的鍵對應的值:

redis的基本概念

一 redis的特點 二 redis的典型使用場景 四 redis的啟動 最簡啟動 執行redis server 動態引數啟動 redis server port 6379 配置檔案啟動 redis server configpath 配置檔案配置時常用的設定有 daemonize 是否是守護程序 ...

Redis 基本概念(四)

概念介紹 redis是遠端伺服器的縮寫,是目前最火熱的非關係型資料庫。單執行緒,預設埠6379 主要優點 1.key value儲存結構 2.持久化 3.可以設定過期時間 平時專案使用jedis連線,或使用redistemplate。redis的主要資料型別?string hash list set...

儲存的基本概念

1.磁碟分割槽的基本概念 另行參考 硬碟的分割槽由主分割槽 擴充套件分割槽和邏輯分割槽組成 主分割槽 包括擴充套件分割槽 的最大個數是四個,主分割槽 包含擴充套件分割槽 的個數是由硬碟的主引導記錄mbr master boot recorder 決定的,mbr存放啟動管理程式 grub,lilo,n...