stringGet($phone) === (int)$code) { return 1; } else { return 2; } } //set集合操作 /*增加set集合元素, 返回true, 重复返回false*/ public function sAdd($key, $value) { if (Redis::sadd($key, $value)) return 1; return 0; } /*移除指定元素*/ public function sRem($key, $value) { if (Redis::exists($key) && Redis::srem($key, $value)) return 1; return 0; } /*返回set集合元素个数*/ public function sCard($key) { return Redis::scard($key); } /*判断元素是否属于当前set集合*/ public function sIsMember($key, $value) { if (Redis::exists($key) && Redis::sismember($key, $value)) return 1; return 0; } /*返回当前set集合的所有元素*/ public function sMembers($key) { if (Redis::exists($key)) return Redis::smembers($key); return []; } /*队列*/ /** * 将值插入一个列表里 * key:队列的键 * value:队列的值 * return 0|1 * 0 失败; * 1 成功; */ public function setList($key, $value) { if (is_string($value)) { Redis::lpush($key, $value); return 1; } return 0; } /** * 获取列表的全部值 * key:队列的键 * return 0|array * 0 失败; * array 成功; */ public function getList($key) { if (is_string($key)) { return Redis::lrange($key, 0, -1); } return 0; } /** * @param $keyName * @param $lockTime * @return int * 队列出队 */ public function rPopList($key, $value) { if ($this->redisExists($key)) { return Redis::rpop($key, $value); } return 0; } /** * 给某个健值加锁 * 1、 客户端A请求服务器设置key的值,如果设置成功就表示加锁成功 * 2、 客户端B也去请求服务器设置key的值,如果返回失败,那么就代表加锁失败 * 3、 客户端A执行代码完成,删除锁 * 4、 客户端B在等待一段时间后在去请求设置key的值,设置成功 * 5、 客户端B执行代码完成,删除锁 */ public function setKeyLock($keyName, $lockTime) { if (!Redis::setNX($keyName, 1)) return 0; Redis::expire($keyName, $lockTime); return 1; } /*有序集合*/ /** * 设置有序集合 * $zkey 有序集合的健值; * $score 分数 * $value 值 */ public function setZadd($zkey, $score, $value) { return Redis::zadd($zkey, (float)$score, $value); } /** * 根据分数获取有序集合的值 */ public function getZaddByScore($zkey, $mix, $max, $withScore = 'WITHSCORES') { return Redis::zrangebyscore($zkey, $mix, $max, $withScore); } /** * 添加指定价格的统计数据 */ public function setZincrbyScore($zkey, $increment, $member) { return Redis::Zincrby($zkey, $increment, $member); } /** * 删除指定有序集合中的健值 */ public function delZsetMember($zkye, $memberName) { return Redis::zrem($zkye, $memberName); } /** * 删除特定区间的分数所有成员 */ public function delZremrangebyscore($zkye, $min, $max) { return Redis::Zremrangebyscore($zkye, $min, $max); } /** * 获取特定成员的成员 */ public function getZscore($zkye, $member) { return Redis::Zscore($zkye, $member); } /** * 获取键的过期时间 */ public function getTTL($key) { if (!$this->redisExists($key)) return 0; //不存在 return Redis::ttl($key); } }