利用java如何实现获取复述,数据库的日志信息

  介绍

这篇文章给大家介绍利用java如何实现获取复述,数据库的日志信息,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

利用java如何实现获取复述,数据库的日志信息”> <br/>实时监控<br/> </p> <p> <img src= slowlog-log-slower-than 100   slowlog-max-len 1000000

slowlog-log-slower-than:是配置需要日志记录的命令执行时间,单位是微秒,也就是说配置为100,会记录命令执行时间为0.1毫秒以上的记录。如果设置为0,就会记录所有执行过的命令。

slowlog-max-len:是配置日志记录的条数,因为这个日志也是存储在内存中的,所以不需要担心记录日志会影响性能,但是会消耗一定内存。

完成对这些信息的获取主要还是利用复述的一些命令,如果是赢得系统下安装的复述,在安装目录运行redis-cli。exe这个文件,输入信息,再回车,就可以看到输出很多字段的参数

<强>部分具体参数对应的意思如下:

    <李>服务器:一般复述,服务器信息,包含以下域:李 <>李redis_version:复述,服务器版本 <李> redis_git_sha1: Git SHA1李 <>李redis_git_dirty: Git脏国旗李 <李>操作系统:复述,服务器的宿主操作系统李 <>李arch_bits:架构(32或64位) <李> multiplexing_api:复述所使用的事件处理机制李 <>李gcc_version:编译复述时所使用的GCC版本 <李> process_id:服务器进程的PID李 <>李run_id:复述,服务器的随机标识符(用于哨兵和集群) <李> tcp_port: TCP/IP监听端口 <李> uptime_in_seconds:自复述,服务器启动以来,经过的秒数 <李> uptime_in_days:自复述,服务器启动以来,经过的天数 <李> lru_clock:以分钟为单位进行自增的时钟,用于LRU管理李 <李>客户:已连接客户端信息,包含以下域:李 <>李connected_clients:已连接客户端的数量(不包括通过从属服务器连接的客户端) <李> client_longest_output_list:当前连接的客户端当中,最长的输出列表 <李> client_longest_input_buf:当前连接的客户端当中,最大输入缓存李 <>李blocked_clients:正在等待阻塞命令(BLPOP、BRPOP BRPOPLPUSH)的客户端的数量 <李>记忆:内存信息,包含以下域:李 <>李used_memory:由复述分配器分配的内存总量,以字节(字节)为单位 <李> used_memory_human:以人类可读的格式返回复述分配的内存总量 <李> used_memory_rss:从操作系统的角度,返回复述,已分配的内存总量(俗称常驻集大小)。这个值和顶部,ps等命令的输出一致。 <李> used_memory_peak:复述的内存消耗峰值(以字节为单位) <李> used_memory_peak_human:以人类可读的格式返回复述的内存消耗峰值 <李> used_memory_lua: Lua引擎所使用的内存大小(以字节为单位) <李> mem_fragmentation_ratio: used_memory_rss和used_memory之间的比率 <李> mem_allocator:在编译时指定的,复述,所使用的内存分配器。可以是libc、jemalloc或者tcmalloc。
      ,在理想情况下,used_memory_rss的值应该只比used_memory稍微高一点儿。
      ,当rss祝辞使用,且两者的值相差较大时,表示存在(内部或外部的)内存碎片。
      ,内存碎片的比率可以通过mem_fragmentation_ratio的值看出。
      ,当在使用;rss时,表示复述的部分内存被操作系统换出到交换空间了,在这种情况下,操作可能会产生明显的延迟。当复述,释放内存时,分配器可能会,也可能不会,将内存返还给操作系统。
      ,如果复述,释放了内存,却没有将内存返还给操作系统,那么used_memory的值可能和操作系统显示的复述,内存占用并不一致。
      ,查看used_memory_peak的值可以验证这种情况是否发生。 <李>持久性:RDB和AOF的相关信息李 <李>统计:一般统计信息李 <李>复制:主/从复制信息李 <>李cpu: cpu计算量统计信息李 <>李commandstats:复述,命令统计信息李 <>李集群:复述,集群信息李 <李>用于:数据库相关的统计信息
      李,

上面是命令窗的方式,使用java的话,我们就是借助能这个框架来帮我们完成:

@ component   公开课RedisUtil {   @ autowired   JedisPool JedisPool;//获取复述,服务器信息   公共字符串getRedisInfo () {   能能=零;   尝试{   能=jedisPool.getResource ();   客户端=jedis.getClient ();   client.info ();   字符串信息=client.getBulkReply ();   返回信息;   最后}{//返还到连接池   jedis.close ();   }   }//获取日志列表   公共List

利用java如何实现获取复述,数据库的日志信息