laravel中redis处理接口避免重复数据

需求

前端请求一个接口,条件获取用户。本次条件获取数据后,再次条件命中,则不再选中用户。比如根据标签选中用户,一个用户可能有多个标签,那么不能多次将用户返回

思路

使用 predis 中的 sadd做数据避免重复的添加,smember 做数据的

    /**
     * 将用户ID存入redis
     * @param int|array $employee_id
     * @return int 1成功 0失败-代表值已经存在
     */
    private function redisSAddEmployee($employee_id)
    {
        return \Redis::connection('session')->sadd(self::redis_prefix . Employee()->getId(), $employee_id);
    }

    /**
     * 获取 redis 中的员工ID数组
     * @return array
     */
    private function getRedisEmployee()
    {
        return \Redis::connection('session')->smembers(self::redis_prefix . Employee()->getId());
    }

    /**
     * 删除操作人保存的ID数据
     * @return int
     */
    private function deleteRedisEmployeeId()
    {
        return \Redis::connection('session')->del(self::redis_prefix . Employee()->getId());
    }

你可能感兴趣的:(laravel中redis处理接口避免重复数据)