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"]