多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### **可以用作用户资料等场景,一个大类下有许多子类,如用户资料下有姓名,性别,年龄等,各个子类都有对应的值** * 与 PHP 的 Array 相似 * 可以保存多个 key-value 对,每个k-v 都是字符串类型 * 最多 2 的 32 次方 -1 个字段 ### **1.常见的操作** 1. 赋值 `$redis->hSet('key','filed','value');` 2. 赋值多个字段 `$redis->hMset('key',array('filed1' => 'value1','filed2' => 'value2'));` 3. 取值 `$redis->hGet('key','filed');` 4. 取多个字段的值 `$redis->hmGet('key',array('filed1','field2'));` 5. 取所有字段的值 `$redis->hGetAll('key');` 6. 获取字段的数量 `$redis->hLen('key');` 7. 判断字段是否存在 `$redis->hExists('key',field);` 8. 当字段不存在时赋值 `$redis->hSetNx('key',field,value);` 9. 增加数字 `$redis->hIncrBy('key',field,num);` 10. 删除字段 `$redis->hDel('key');` 11. 获取所有字段名 `$redis->hKeys('key');` 12. 获取所有字段值 `$redis->hVal('key');` ### **2.封装自己的 redis hash** #### 1.编写类 ``` /** * hash赋值 */ public static function hset($key, $field, $value) { return self::getWrite()->hSet($key, $field, $value); // 如 用户资料-姓名-张三 } /**hash取值 * @param $key * @param string $field * @return array|false|string */ public static function hget($key, $field = '') { if (empty($field)) { return self::getRead()->hGetAll($key); } else { return self::getRead()->hGet($key, $field); } } /**自增 * @param $key * @param $field * @param int $number * @return mixed */ public static function hincrby($key, $field, $number = 1) { return self::getWrite()->hIncrBy($key,$field,$number); } ```