# 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');
~~~