gpt4 book ai didi

python - 如何使用 redis-py 在 python 脚本中模拟 redis MONITOR 命令?

转载 作者:IT王子 更新时间:2023-10-29 06:03:11 32 4
gpt4 key购买 nike

遗憾的是,redis-py库好像没有Monitor例程。我想读取 redis 服务器收到的所有命令,过滤它们,然后记录我感兴趣的命令。有人知道如何执行此操作吗?

最佳答案

这里是一些在 python 中实现监控代码的最小代码。

注意:

  1. 我从 redis-py 中的 PubSub 类改编而来。参见 client.py
  2. 这不会解析响应,但应该足够简单
  3. 不做任何类型的错误处理
import redis        class Monitor():    def __init__(self, connection_pool):        self.connection_pool = connection_pool        self.connection = None    def __del__(self):        try:            self.reset()        except:            pass    def reset(self):        if self.connection:            self.connection_pool.release(self.connection)            self.connection = None    def monitor(self):        if self.connection is None:            self.connection = self.connection_pool.get_connection(                'monitor', None)        self.connection.send_command("monitor")        return self.listen()    def parse_response(self):        return self.connection.read_response()    def listen(self):        while True:            yield self.parse_response()if  __name__ == '__main__':    pool = redis.ConnectionPool(host='localhost', port=6379, db=0)    monitor = Monitor(pool)    commands = monitor.monitor()    for c in commands :        print(c)

关于python - 如何使用 redis-py 在 python 脚本中模拟 redis MONITOR 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10458146/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com