23.2 慢查询日志的阅览和删除

弄清楚了服务器状态的slowlog链表的作用之后,我们可以用以下伪代码来定义查看日志的SLOWLOG GET命令:



def SLOWLOG_GET(number=None):
    # 
用户没有给定number
参数
    # 
那么打印服务器包含的全部慢查询日志
    if number is None:
        number = SLOWLOG_LEN()
    # 
遍历服务器中的慢查询日志
    for log in redisServer.slowlog:
        if number <= 0:
            # 
打印的日志数量已经足够,跳出循环
            break
        else:
            # 
继续打印,将计数器的值减一
            number -= 1
        # 
打印日志
        printLog(log)

查看日志数量的SLOWLOG LEN命令可以用以下伪代码来定义:



def SLOWLOG_LEN():
    # slowlog
链表的长度就是慢查询日志的条目数量
    return len(redisServer.slowlog)

另外,用于清除所有慢查询日志的SLOWLOG RESET命令可以用以下伪代码来定义:



def SLOWLOG_RESET():
    # 
遍历服务器中的所有慢查询日志
    for log in redisServer.slowlog:
        # 
删除日志
        deleteLog(log)