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