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