# phpredis 教程:哈希
***
### 哈希操作
~~~
<?php
$redis = new \Redis();
$redis->connect('127.0.0.1', 6379);
// Redis 没设置密码则不需要这行代码
// $redis->auth('opG5dGo9feYarUifaLb8AdjKcAAXArgZ');
// 创建 hash 表
// 向名字叫 'hash' 的 hash表 中添加元素 ['key1' => 'val1']
$redis->hSet('hash', 'key1', 'val1');
// 获取 hash表 中键名是 key1 的值
echo $redis->hGet('hash', 'key1') . PHP_EOL;
// 获取 hash表的元素个数
echo $redis->hLen('hash') . PHP_EOL;
// 获取 hash表 中所有的键
$keys = $redis->hKeys('hash');
var_dump($keys);
// 获取 hash表 中所有的值
$vals = $redis->hVals('hash');
var_dump($vals);
// 获取 hash表 中所有的键值对
// 不推荐使用这种方法获取全部数据,会导致服务器执行超时,推荐方法后边会详细介绍
// $all = $redis->hGetAll('hash');
// var_dump($all);
// 判断 hash 表中是否存在键名是 key2 的元素
$bool = $redis->hExists('hash', 'key2');
echo $bool ? '存在' : '不存在' . PHP_EOL;
// 批量添加元素
$redis->hMset('hash', ['key2' => 'val2', 'key3' => 'val3']);
// 批量获取元素
$hashes = $redis->hMGet('hash', ['key1', 'key2', 'key3']);
var_dump($hashes);
// 删除 hash表
$redis->delete('hash');
~~~