$redis->keys('orders:*');//查询key
$redis->set('orders','value');
$redis->hset('orders','field',1);
$redis->hget('orders','field');
$redis->expire('orders', 86400);//设置过期时间
Yii::$app->redis->incr() 自增1
Yii::$app->redis->decr() 自减1
Yii::$app->redis->expire('orders', 86400);//设置过期时间
Yii::$app->redis->hexists() 验证HASH表中是否存在指定的KEY-VALUE
Yii::$app->redis->hset('orders','value')添加一个VALUE到HASH中。如果VALUE已经存在于HASH中,则返回FALSE
Yii::$app->redis->hget('orders','field') 根据键取得数据
Yii::$app->redis->hgetall () 根据键取得所有数据
Yii::$app->redis->hincrby() 根据HASH表的KEY,为KEY对应的VALUE自增参数VALUE
Yii::$app->redis->hKeys() 取得HASH表中的KEYS,以数组形式返回
Yii::$app->redis->get () 取得与指定的键值相关联的值
Yii::$app->redis->setex() 设置一个带有效期(秒)的数据
Yii::$app->redis->incrby() 为键 key 储存的数字值加上增量 increment
Yii::$app->redis->hdel() 删除指定的元素
Yii::$app->redis->ttl() 以秒为单位返回 key 的剩余过期时间(当前键的到期时间)
Yii::$app->redis->set() 一个键值数据存入redis string类型的无序集合,集合中不能出现重复的数据
Yii::$app->redis->multi()标记一个事务块的开始。事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令原子性(atomic)地执行。
Yii::$app->redis->del() 删除某个键值
Yii::$app->redis->smembers() 返回集合中的所有的成员。 不存在的集合 key 被视为空集合
Yii::$app->redis->sadd() 将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略
Yii::$app->redis->srem() 用于移除集合中的一个或多个成员元素,不存在的成员元素会被忽略
Yii::$app->redis->exists()用于检查给定 key 是否存在
Yii::$app->redis->hMget()根据键值和键名取数据
Yii::$app->redis->lrange() 返回列表中指定区间内的元素
Yii::$app->redis->scard()返回集合中元素的数量
Yii::$app->redis->lpush ( ) 将一个或多个值插入到列表头部
Yii::$app->redis->rpush ( ) 将一个或多个值插入到列表尾部
Yii::$app->redis->lpop ( ) 移出并获取列表头部或尾部的第一个元素,如果没有值返回null
Yii::$app->redis->sinter ( ) 返回给定所有集合的交集
Yii::$app->redis->sunion ( ) 返回给定所有集合的并集
Yii::$app->redis->sdiff ( ) 返回给定所有集合的差集
Yii::$app->redis->zadd ( ) 向有序集合添加一个或多个成员,或者更新已存在成员的分数
以上就是使用 Yii2-redis 扩展实现 Redis 的 Hash Set 写入操作的步骤。在实际开发中,还可以使用
Yii::$app->redis->executeCommand()
方法执行 Redis 命令来操作 ,具体操作方式与普通的 Redis 操作类似。
附带一下业务场景
一笔订单库存用完后通知用户补库存 利用redis一天只通知一次 计划任务12点清空所有的key
//短信提醒库存不足 一个商品一天只提醒一次(计划任务定时删除key)
$_goods_check = Goods::findOne($goods['goods_id']);
if($_goods_check['goods_num']<1){
$mch_id = $mch['mch_id'];
$good_id = $goods['goods_id'];
$key ='mch_id:'.$mch_id.':good_id:'.$good_id;
if($redis->hget('sms-goods',$key)){
}else{
$redis->hset('sms-goods',$key,(string)date('Y-m-d H:i'));
$redis->expire('sms-goods', 86400);
$sms = new Sms();
$res=$sms->sendMchChangeStock(\Yii::$app->controller->store->id,$mch['mch_id'],$_goods->name);
}
}