php 连接redis
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server successfully";
//查看服务是否运行
echo "Server is running: " . $redis->ping();
概念:
Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。
Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。
1. hash 表 键值对的创建 / 删除指定的键 / 删除多个键值 / 取出某个键值对应的值 / 取出hash表里的所有的键值对
$redis->hset('tablename','key1','cc'); // 设置值,参数依次是 哈希表名,key, value, 如果哈希表名不存在会被创建
$redis->hset('tablename','key2','dd'); // 设置值,参数依次是 哈希表名,key, value, 如果哈希表名不存在会被创建
$redis->hset('tablename','key3','dd'); // 设置值,参数依次是 哈希表名,key, value, 如果哈希表名不存在会被创建
$redis->hdel('tablename','key3'); // 删除 hash 表里的 指定key
$redis->hdel('tablename','key1','key2'); // 删除 hash 表里多个 key
$a = $redis->hget('tablename','key1'); // 获取对应的哈希表 里的 指定的 key 的值
$c = $redis->hgetall('tablename');// 获取hash 表里所有的key value
2. hash 表中判断是否存在某个key
$redis->hset('tablename','key1','cc'); // 设置值,参数依次是 哈希表名,key, value, 如果哈希表名不存在会被创建
$a = $redis->hExists('tablename','key1'); // 检测 hash 表中是否存在某个key 存在返回 true 不存在返回 false
$b = $redis->hExists('tablename','key2');// 检测 hash 表中是否存在某个key 存在返回 true 不存在返回 false
3.hash 表 指定 key 增加 某个值 ,这个值可以是负数,但不能是小数 / 增加某个值,可以是小数
$redis->hset('tablename','key1',0); // 设置值,参数依次是 哈希表名,key, value, 如果哈希表名不存在会被创建
$redis->hincrby('tablename','key1',1); // 指定 hash 表中 key 的 value 增加 指定的数值,如果为负数则是 减法,不能是小数, 如未定义key,则会初始化val 为 0,如果 key 的值是字符串,使用这个方法将会报错
$redis->hIncrbyfloat('tablename','key1',1.2); // 指定 hash 表中 key 的 value 增加 指定的数值,如果为负数则是 减法,可以是小数, 如未定义key,则会初始化val 为 0,如果 key 的值是字符串,使用这个方法将会报错
4. 获取hash 表里所有 的key / 获取 hash 表里所有 key 的数量 / 获取 hash 表里所有的key 对应的 value
$redis->hset('tablename','key1',0); // 设置值,参数依次是 哈希表名,key, value, 如果哈希表名不存在会被创建
$redis->hset('tablename','key2','a');
$a = $redis->hkeys('tablename'); // 获取hash 表里所有的key
$b = $redis->hlen('tablename'); // 获取hash 表里所有的key 的数量
$c = $redis->hvals('tablename'); // 获取hash 表里所有的key 的对应的value
5 获取多个key 对应的val / 设置多个key 对应的 val / key 不存在的时候才才可以创建成功 返回 true / false
$redis->hset('tablename','key1',0); // 设置值,参数依次是 哈希表名,key, value, 如果哈希表名不存在会被创建
$redis->hset('tablename','key2','a');
$a = $redis->hmget('tablename',['key1','key2']); // 获取多个key 对应的 value
$redis->hmset('tablename',['key3'=>'val3','key4'=>'value4']); // 设置多个key 对应的 value
$c = $redis->hsetnx('tablename','key5','dasdasd'); // key 不存在才能创建成功