redis 的散列可以讓用戶將多個鍵值對存儲到一個 redis 鍵里面。這里介紹一些常用命令,以及在 Yii 中的使用。
HMGET
> HMGET:HMGET key-name key \[key …\]
> 從散列里面獲取一個或多個鍵的值。
HMSET
> HMSET:HMSET key-name key name \[key name …\]
> 為散列里面的一個或多個鍵設置值
HDEL
> HDEL:HDEL key-name key \[key …\]
> 刪除散列里面的一個或多個鍵值對,返回成功找到并刪除的鍵值對數量
HLEN
> HLEN:HLEN key-name
> 返回散列包含的鍵值對數量
HEXISTS
> HEXISTS:HEXISTS key-name key
> 檢查給定鍵是否存在于散列中
HKEYS
> HKEYS:HKEYS key-name
> 獲取散列包含的所有鍵
HVALS
> HVALS:HVALS key-name
> 獲取散列包含的所有值
HGETALL
> HGETALL:HGETALL key-name
> 獲取散列包含的所有鍵值對
HINCRBY
> HINCRBY:HINCRBY key-name key increment
> 將鍵 key 存儲的值加上整數 increment
HINCRBYFLOAT
> HINCRBYFLOAT:HINCRBYFLOAT key-name key increment
> 將鍵 key 存儲的值加上浮點數 increment
**在 Yii 中使用實例:**
```
// 存儲3對鍵值對
Yii::$app->redis->hmset('testHashKey', 'key1', 'value1', 'key2', 'value2', 'key3', 'value3'); // 1
// 獲取key1、key3的值
Yii::$app->redis->hmget('testHashKey', 'key1', 'key3'); // ["value1","value3"]
// 刪除key3鍵值對
Yii::$app->redis->hdel('testHashKey', 'key3'); // 1
// 獲取鍵值對數量
Yii::$app->redis->hlen('testHashKey'); // 2
// 獲取所有的鍵
Yii::$app->redis->hkeys('testHashKey'); // ["key1","key2"]
// 獲取所有的值
Yii::$app->redis->hvals('testHashKey'); // ["value1","value2"]
// 獲取所有的鍵值對
Yii::$app->redis->hgetall('testHashKey'); // ["key1","value1","key2","value2"]
```