使用管控平台管理redis集群

1 添加redis集群

在数据库资源中添加redis集群,配置参数并将URL中cluster调整为true。

2 验证配置资源是否正常

3 操作redis数据库中的数据 可以通过使用图形化界面或者命令窗口进行Redis数据库的CRUD

3.1 图形化界面操作 操作Redis字符串列表

3.1.1 新增 右键数据类型,选择新增,设置名称及value,保存即可。

3.1.2 读取

右键对应key,选择设计,便可查看/修改对应key的value值

如果出现某个key对应value值过多的情况,可以使用搜索文本框对value数据进行检索。例如搜索dbkey中的value值中包含or字段的

3.1.3 修改 右键key,选择设计,便可查看/修改对应key的value值 若要修改对应key的名称,在对应key上右键选择重命名。

3.1.4 删除

删除redis字符串列表中某个value,选择所选行删除即可。

3.2 命令窗口操作

3.2.1 新增

Redis> LPUSH hhdbkey redis
(integer) 1
Redis> LPUSH hhdbkey mongodb
(integer) 2
Redis> LPUSH hhdbkey mysql
(integer) 3

3.2.2 读取

Redis> LRANGE hhdbkey 0 10
1) "mysql"
2) "mongodb"
3) "redis"

3.2.3 修改

lset [lset key index value] :设置列表指定索引的值,如果指定索引不存在则报错

Redis> LRANGE hhdbkey 0 10
1) "mysql"
2) "mongodb"
3) "redis"
Redis> lset hhdbkey 0 test
OK
Redis> lrange hhdbkey 0 10
1) "test"
2) "mongodb"
3) "redis"

3.2.4 删除

lrem [lrem key count value] :移除等于value的元素,当count>0时,从表头开始查

找,移除count个;当count=0时,从表头开始查找,移除所有等于value的;当

count<0时,从表尾开始查找,移除|count| 个。

Redis> lrem hhdbkey 0 test
(integer) 1
Redis> lrange hhdbkey 0 10
1) "mongodb"
2) "redis"

4 频道发布订阅 可同时订阅多个频道,显示在不同的订阅窗口。

4.1 频道发布订阅文本-图形化操作界面

4.1.1 订阅频道 在订阅窗口中输入频道名称,点击订阅;完成订阅会有操作提示。

4.1.2 发布频道

在发布窗口中进行频道消息的发布,可以是文本或文件。

在7001节点发布消息成功,发布窗口会记录发布频道名称、发布时间及订阅数量。

在7002、7003节点,会实时接收到来自7001频道发布的消息。

可在操作列表选择查看消息或下载消息。

4.2 频道发布订阅文件-图形化操作界面

4.2.1 发布频道

可选择文件进行发布,这里添加了一张图片作为文件发布内容。

4.2.2 订阅频道

可在订阅窗口页面,选择查看文件。

5 模式发布订阅

5.1 模式发布订阅-图形化操作页面

7002、7003节点对频道名称为test.t1发布消息

7001订阅频道test.t1接收消息

5.2 模式发布订阅-命令窗口操作

## 订阅以test.为开头的所有频道。
> PSUBSCRIBE test.*
3
test.*
test.t1
t1
test.*
test.t2
t2
## 推送方式与普通频道发布命令一样
> PUBLISH test.t1 t1
2

6 访问监控

访问监控,实时监听连接redis节点的用户名,客户端连接IP/端口,连接存活时间,

频道订阅数量,以及所使用的命令。

7 使用中遇到的问题

7.1 订阅频道没有进行持续监听

7.2 订阅频道不支持频道名称中带*

psubscribe 命令支持订阅一个或多个符合给定模式的频道。

例:PSUBSCRIBE test.*

是否需要支持频道名称中带*号的频道

7.3 管控平台窗口操作页面不支持同时订阅多个频道

本文转载于网络 如有侵权请联系删除

相关文章

  • 计算机病毒论文结束语,计算机病毒论文结束语

    大家好,又见面了,我是你们的朋友全栈君。计算机病毒论文结束语此频道包含与结束语和计算机和病毒相关的例文,免费给你写作计算机病毒论文总结提供有关参考文献资料。摘要:计算机是现代办公、学习的重要工具之一。对于高等院校来讲,计算机在日常教学和学生管理中都占有非常重要的地位,起到了重要的作用。不论是校园网。摘要:本研究计算机病毒的历史入手,介绍了病毒的种类、特点和工作原理,并对病毒的查杀和防范方法做了介绍。当前,计算机网络技术有着飞速的发展。全球信。摘要:计算机给人们的生活、学习、工作带来极大的便利。但计算机系统在实际的使用中,容易受到病毒的攻击,导致计算机系统中的重要数据、资料丢失,甚至。利用混合教学模式能够较好地解决了学生线上自主学习和线下课堂交流学习,使得虚拟课堂与实体课堂得到很好的融合,为此,该文针对在混合学习环境下高职计算。审计质量是审计工作的生命线。近年来,随着计算机审计的推广和普及,给审计质量的控制提出了新课题。怎样认识提高计算机审计质量的必要性?影响计算机审计。[摘要]近年来,在科技进步和经济发展的共同作用下,计算机已经成为了人们工作和生活中必不可少的一种工具。金融行业本身属于

  • Java虚拟栈和Java堆详解---jvm虚拟机(一) (面试必备)

    Jvm内存分别有java堆,java虚拟栈,java本地栈,方法区,程序计数器。程序计数器:jvm加载的时候,记录每个线程特地的位子,当前线程的行数指示器,对多线程尤为重要,每个线程都有自己的pc,方便管理上下文的切换。Java堆:java内存占的最大,gc回收最频繁的地方,存放实例对象和数组,线程共享的,因为线程共享,所以new对象的时候需要加锁。Java虚拟栈:存放对象的引用,基本数据类型,方法。本地虚拟栈:和java虚拟栈类似,主要存放本地的对象引用,基本数据类型,方法。方法区:存放jvm加载完之后类的基本信息,方法,运行时常量,其中这里面会分配内存给运行时常量池,主要在里面存放运行时常量和方法。相信这些大家都并不陌生,熟记于心,两个new的对象为何不相等呢,因为对象在java堆,两个对象存储的内存地址值不一致。下面来看代码:首先创建了个user2对象,指向java堆的地址值,放入list引用里,之后再fillData里吧当前user2对象放入新的list,list指向同一个java堆里的地址值,所以他们是相同的。所以最后虽然操作的是新的userList2里的name改成张三,但

  • 黑客故事:乔纳森·詹姆斯(Jonathan James)——为了好玩而攻击 NASA 的少年

    黑客别名:c0mrade乔纳森·詹姆斯(JonathanJames),一位多产的年轻黑客,他在早上上学时在晚上对NASA进行黑客攻击。他继续成为第一个因计算机黑客行为被联邦判处监禁的少年。早期生活——他的黑客之旅的开始乔纳森·詹姆斯于1983年12月12日出生在佛罗里达州迈阿密戴德县的一个名为Pinecrest的小村庄。他的父亲是一名计算机程序员,母亲是一名家庭主妇。Pinecrest,迈阿密戴德县,佛罗里达州-来源:explormiamirealestate.com他对电脑的兴趣始于6岁,他经常使用父亲的电脑玩电子游戏。 詹姆斯的父母很快意识到他们的儿子在电脑屏幕前花费了太多时间并试图施加限制,最终詹姆斯从很小的时候就利用他的黑客“魅力”绕过了这些限制。他的兴趣随着年龄的增长而逐渐改变,从玩游戏到学习C语言。有一天,当他回到家,看到他的个人电脑从Windows操作系统转换为Linux操作系统时,他对计算机的好奇心让他父亲大吃一惊。出于好奇,James在他父亲的电脑上安装了Linux,以测试这个不熟悉的操作系统并了解它是如何工作的。在他十几岁的时候,他开始沉迷于电脑和技术,因为他把大部

  • 数字证书、、

    1、基础知识这部分内容主要解释一些概念和术语,最好是先理解这部分内容。1.1、公钥密码体制(public-keycryptography)公钥密码体制分为三个部分,公钥、私钥、加密解密算法,它的加密解密过程如下:加密:通过加密算法和公钥对内容(或者说明文)进行加密,得到密文。加密过程需要用到公钥。解密:通过解密算法和私钥对密文进行解密,得到明文。解密过程需要用到解密算法和私钥。注意,由公钥加密的内容,只能由私钥进行解密,也就是说,由公钥加密的内容,如果不知道私钥,是无法解密的。公钥密码体制的公钥和算法都是公开的(这是为什么叫公钥密码体制的原因),私钥是保密的。大家都以使用公钥进行加密,但是只有私钥的持有者才能解密。在实际的使用中,有需要的人会生成一对公钥和私钥,把公钥发布出去给别人使用,自己保留私钥。 1.2、对称加密算法(symmetrickeyalgorithms)在对称加密算法中,加密使用的密钥和解密使用的密钥是相同的。也就是说,加密和解密都是使用的同一个密钥。因此对称加密算法要保证安全性的话,密钥要做好保密,只能让使用的人知道,不能对外公开。这个和上面的公钥密码体制有所不同,公

  • 用Transformer振兴CNN骨干网络,港大、腾讯等联合提出视觉自监督表征学习CARE

    自监督表征学习近两年十分火热。机器学习界的三位泰斗GeoffroyHinton、YannLecun、YoshuaBengio一致认为自监督学习有望使AI产生类人的推理能力,其中Hinton与Lecun近两年也在ICML/NeurIPS中发表自监督表征学习的研究工作。可以说在机器学习顶会发表自监督表征学习的文章,是与Hinton和Lecun站到了同一赛道上。而今年的NeurIPS2021,Lecun刚发推感叹他与另外一位CV泰斗JeanPonce的自监督投稿VICReg被拒掉了,可见在机器学习领域,自监督学习的竞争激烈程度。另外一方面,最近热门的Transformer给计算机视觉算法带来了全面的升级。那么Transformer跟自监督表征学习在一起会迸发出怎样的火花?来自港大、腾讯AILab、牛津大学的学者在NeurIPS2021发表的文章会带来一个启发性的答案。该研究受现有自监督表征学习架构BYOL的启示,结合前沿的Transformer,提出利用Transfomer来提升CNN注意力的自监督表征学习算法。本文将现有的架构归为C-stream,另提出T-stream。在CNN骨干网络的

  • DBeaver,杀出重围!

    原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。我最近装上了DBeaver,原因是很多人捧它。好家伙,很好用。但从打开它的第一眼,我就知到它的开发语言是Java,因为每增加一种数据库类型,就需要下载一个对应的jar包。很好很好,不用再纠结navicat是不是盗版了,也不用再安装能把系统搞崩溃的PL/SQL了。有如此发展,DBeaver得的是Java的恩泽,沾的是JDBC的雨露,天生具有跨平台的基因。DBeaver还提供了eclipse的插件,从侧面上证明它的GUI是使用Eclipse开发的。这让我这种一度怀疑JavaGUI发展的人,猝不及防的呛了一口屎。它能干什么那这个工具有何强大之处呢?首先就是它支持非常丰富的数据库。新建链接时,我们能够从这个界面一窥全貌。除了常见的MySQL,还有各种各样从来没见过没听过的数据库。我瞪着我漂亮的眼睛数了数,总共86个!当然,商业版会有更多的赠送。没有功劳,也有苦劳!各大软件厂商都是这么玩的,管它用得着用不着,先到碗里来再说。但其实DBeaver还是耍了个小聪明的。如果你想要使用某种数据库,需要先下载它的JDBC驱动。有了

  • mysql三大日志-binlog、redo log和undo log

    日志是mysql数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。作为开发,我们重点需要关注的是二进制日志(binlog)和事务日志(包括redolog和undolog),本文接下来会详细介绍这三种日志。binlogbinlog用于记录数据库执行的写入性操作(不包括查询)信息,以二进制的形式保存在磁盘中。binlog是mysql的逻辑日志,并且由Server层进行记录,使用任何存储引擎的mysql数据库都会记录binlog日志。逻辑日志:可以简单理解为记录的就是sql语句。物理日志:因为mysql数据最终是保存在数据页中的,物理日志记录的就是数据页变更。binlog是通过追加的方式进行写入的,可以通过max_binlog_size参数设置每个binlog文件的大小,当文件大小达到给定值之后,会生成新的文件来保存日志。binlog使用场景在实际应用中,binlog的主要使用场景有两个,分别是主从复制和数据恢复。主从复制:在Master端开启binlog,然后将binlog发送到各个Slave端,Sla

  • 字符编码学习笔记

    一、常见编码ASCII:ASCII码即美国标准信息交换码(American Standard Codefor Information Interchange)。由于计算机内部所有信息最终都是一个二进制值,而每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。标准ASCII码一共规定了128个字符的编码,这是因为只使用了后面七位,最前面的一位统一规定为0。之后IBM制定了128个扩充字符,这些字符并非标准的ASCII码,而是用来表示框线、音标和其它欧洲非英语系的字母。英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的,而且不同的国家使用不同的字母,有的国家使用的字符也远远超过256个,显然ASCII已经无法解决问题了。那么有没有一种统一且唯一的编码方式呢?答案就是Unicode。Unicode:Unicode是计算机科学领域里的一项业界标准,Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。但是U

  • iptables和firewall-cmd实现nat转发配置

    iptables和firewall-cmd实现nat转发配置环境如下:A机器两块网卡eth0(192.168.0.173)、eth1(192.168.100.1),eth0可以上外网,eth1仅仅是内部网络,B机器只有eth1(192.168.100.3),和A机器eth1可以通信互联。 需求让B机器可以连接外网,端口转发,通过A:1122连接B:22iptables实现: 注意:如果不能成功需要清空iptables规则,重新添加 命令:iptables-F复制A机:ifconfigeth1192.168.100.1/24#临时设置IP复制echo"1">/proc/sys/net/ipv4/ip_forward iptables-tnat-APOSTROUTING-s192.168.100.0/24-oeth0-jMASQUERADE复制B机:ifconfigeth1192.168.100.3/24#临时设置ip routeadddefaultgw192.168.100.1#设置网关复制端口转发:A:echo"1">/proc/sy

  • 浅谈SQL语句的执行过程

    写在前面的话:有时不理解SQL语句各个部分执行顺序,导致理解上出现偏差,或者是书写SQL语句时随心所欲,所以有必要了解一下sql语句的执行顺序。可以有时间自己写一个简单的数据库,理解会更加深入。下面就写写我的一些理解,以SQLSERVER2008为例,进行说明。先看下面这条简单SQL语句:1select 2top10* 3fromStudent 4whereage>20复制这条SQL语句是否可以有下面两种理解呢(1)先从Student表中选出age>20的数据,然后从这些数据中选择前面的10条数据。(2)先从Student表中选出前10条数据,然后从这些数据中选择age>20的数据。那么到底哪个是正确的呢?你可能会说,这还不容易,肯定是(1)是正确的。没错,对于这样的简单的语句,一眼就能看出来,可是对于稍微复杂一些的SQL语句或者更加复杂的SQL语句,有时我们一眼就看不出来了,为了能够正确分析SQL语句以及写出正确的SQL语句,有必要了解一下SQL语句各部分的执行顺序。好了,我们再看下面的一条SQL语句:select distinct top1 Table1.id,C

  • RavenDb学习(二)简单的增删查改

    在上一节当中已经介绍了RavenDb的文档设计模式,这一节我们要具体讲一讲如何使用api去访问RavenDb 1.连接RavenDb vardocumentStore=newDocumentStore{Url="http://myravendb.mydomain.com/"}; documentStore.Initialize(); vardocumentStore=newDocumentStore { ConnectionStringName="MyRavenConStr" }; 在app.config中配置如下: <connectionStrings> <addname="Local"connectionString="DataDir=~\Data"/> <addname="Server"connectionString="Url=http://localhost:8080"/> <addn

  • 新的可视化帮助更好地了解Spark Streaming应用程序

    之前,我们展示了在Spark1.4.0中新推出的可视化功能,用以更好的了解Spark应用程序的行为。接着这个主题,这篇博文将重点介绍为理解SparkStreaming应用程序而引入的新的可视化功能。我们已经更新了SparkUI中的Streaming标签页来显示以下信息:时间轴视图和事件率统计,调度延迟统计以及以往的批处理时间统计每个批次中所有JOB的详细信息此外,为了理解在Streaming操作上下文中job的执行情况,有向无环执行图的可视化(executionDAGvisualization)增加了Streaming的信息。让我们通过一个从头到尾分析Streaming应用程序的例子详细看一下上面这些新的功能。处理趋势的时间轴和直方图当我们调试一个SparkStreaming应用程序的时候,我们更希望看到数据正在以什么样的速率被接收以及每个批次的处理时间是多少。Streaming标签页中新的UI能够让你很容易的看到目前的值和之前1000个批次的趋势情况。当你在运行一个Streaming应用程序的时候,如果你去访问SparkUI中的Streaming标签页,你将会看到类似下面图一的一些东

  • 区块链对于法定数字货币的意义与政策建议

    作者为德勤中国智慧未来学院总监高挺今日头条:高挺观点区块链对于法定数字货币的意义法定数字货币的实现必须要借助于最新的信息技术,而目前主流的信息系统通常采用“服务器-客户端”架构,该架构的优势在于将软硬件资源整合,通过网络和虚拟技术进行更有效率和更低成本的资源按需分配,而目前日渐成熟的云计算是其演化的终极形态。但正是因为软件资源和数据的高度集中,安全问题将会成为最大的风险。近年来虽然信息安全和密码学技术在不断发展,但同时网络攻击也层出不穷;并且由于数字货币最终要在公共市场上流通,数字化的信息最终也会直接或间接地接入互联网。设想如果未来法定数字货币的数据被存储在云端,则很有可能引发全世界黑客对这个网上“金矿”发起持续攻击以期获利,而任何的安全漏洞都可能会造成灾难性的后果。相比于集中式的“服务器-客户端”架构,区块链是一种开放架构下的强安全机制,通过设计精巧的博弈机制同时达到“开放”和“安全”的目标。以最原始的区块链1.0实现比特币为例,从2009年1月在互联网上开始运行至今已有8年,期间全局账本(数据库)却从未被黑客入侵,并且交易记录不可篡改。可见区块链可以在高度开放的架构下依旧保证强安全

  • 最小生成树的个数_最小生成树的两种算法

    给定一张N个点M条边的无向图,求无向图的严格次小生成树。设最小生成树的边权之和为sum,严格次小生成树就是指边权之和大于sum的生成树中最小的一个。输入格式 第一行包含两个整数N和M。接下来M行,每行包含三个整数x,y,z,表示点x和点y之前存在一条边,边的权值为z。输出格式 包含一行,仅一个数,表示严格次小生成树的边权和。(数据保证必定存在严格次小生成树)数据范围 N≤105,M≤3×105输入样例: 56 121 132 243 354 343 456 输出样例: 11复制#include<bits/stdc++.h> usingnamespacestd; constintN=1e5+10; constintM=3*3e5+10; constintmaxbit=20; typedeflonglongll; intf[N][maxbit],d1[N][maxbit],d2[N][maxbit],height[N]; structEdge{ intu,v,w,next; boolf; booloperator<(constEdgea)const{ returnw&

  • Linux Shell Scripting Cookbook 读书笔记 5

      sed,awk 1.sed(stringeditor) 使用-i可以将结果运用于原文件 sed's/text1/text2/'file>newfile mvnewfilefile 其实可以使用sed-i's/text1/text2/'file搞定 如果加后缀g表示全部替换,不加只会替换每行的第一处匹配 使用Ng选择从第几处开始匹配,第二个例子是为了说明无论使用/或者|或者其他什么字符,都是可以用作定界符的 移除空白行 sed'/^$/d' #/pattern/d或移除匹配到的行,注意没有s了 用&表示匹配到的内容,并且\d在sed命令中不支持。。 第二个例子,用\1\2分别标记之前括号里pettern匹配到的内容 如果需要对sed中的内容求值,可以使用双引号   2.awk awk通常由BEGIN,END和能够使用模式匹配的通用语句块三个部分组成,这三个部分都是可选的,脚本通常包含在双引号或者单引号中 1)执行BEGIN 2)读取stdin中的一行,然后执行pattern中的语句块,重复这个过程,直到文件读完;  &n

  • 浅拷贝和深拷贝的区分及实现

    浅拷贝和深拷贝只针对object和array这样的复杂对象,一般浅拷贝只复制一层对象的属性,深拷贝则递归复制了所有的层级; //浅拷贝函数浅拷贝只是对对象地址进行了复制,并没有开辟新的栈,复制的结果就是两个对象指向同一个地址,即修改其中一个对象的属性//则另一个对象的属性也会变化varobj={a:1,arr:[1,2,3]};varcopyObj=copy(obj);functioncopy(src){vardst={};for(varpropinsrc){if(src.hasOwnProperty(prop)){dst[prop]=src[prop];}}returndst;}document.write(obj.arr);//深拷贝varchina={nation:'中国',birthplaces:['北京','上海','广州'],skincolr:'yellow',friends:['sk','ls']};//深拷贝函数深拷贝是开辟新的栈,两个对象对应不同的地址,修改一个对象的属性不会改变另一个对象的属性functiondeepCopy(o,c){varc=c||{};for(

  • 城市要素库时空分析项目启动

    有了解我们团队的朋友应该知道,集搜客GooSeeker专注于网络爬虫软件开发领域已超过10年,而在过去的两年里,集搜客团队内部组建了一个特殊小组,专门探索与城市相关的数据整理和数据应用价值,而且秉承开放的原则,作为公共知识,让大家共享。 为什么启动这个项目呢?这个项目是智慧时空基础设施建设项目的产物,现在期望将部分核心成果开放给广大数据分析和城市治理和公共管理研究者。随着智慧城市建设的广泛和深入地推进,加上物联网技术和应用的长足发展,一副完整的数字化城市图景逐步展开。开放的互联网上积累了大量的有价值的内容,却散布在web的角角落落,而且结构也是散乱的。我们期望这些内容能够用于营商环境分析、现代化宜居城市治理、城市职居分析、政策制定的决策支撑等等方面,所以利用积累起来的网络爬虫技术,围绕着城市要素对数据进行采集和整理,所有数据均可自由下载使用。 城市的建设发展运行都是在三维空间和时间交织的四维环境中进行的。时间、空间是能够描绘记录城市发展轨迹的唯一、最有效的载体,离开了时空,历史的发展就无法记录,更无法展现了,而地理信息是提供时间、空间信息最有效的方法和手段。因此,城市要素库时空分析系统

  • oracle 常用语句

    -----创建表空间createtablespacedata_TABLESPACElogging datafile'D:\APP\ADMINISTRATOR\ORADATA\WEAIRS\DATA.DBF' size50m autoextendon next50mmaxsize20480m extentmanagementlocal; ---创建用户 createusertestidentifiedbytestdefaulttablespacedata_TABLESPACE; ---赋值权限 grantsysdbatotest; grantconnect,resource,dbatotest; grantallprivilegestotest grantallprivilegestozr_da_gz   imptest/test@toolfile=d:\data.dmpfromuser=testtouser=testlog=d:\imp.logtablespaces=data_TABLESPACE exptest/test@T

  • 项目实训Day 3

    idea:是否可以通过用户确定验证码识别结果的对错来完善模型???需求已有。 验证码识别网站实例: 今天剩余的时间看了看前端,之前有写过vue.js,感觉今天有点浮躁,需要尽快确定怎么干了。 明天计划对页面的计划分一下工,自己需要实现网页的功能介绍。  

  • ZT 解决Ubuntu下SublimeText3不能输入中文问题

    gitclonehttps://github.com/lyfeyaj/sublime-text-imfix.git运行脚本:cdsublime-text-imfix&&./sublime-imfix

  • Java中打印日志,这4点很重要!

    打印日志,要注意下面4点。 目录一、预先判断日志级别二、避免无效日志打印三、区别对待错误日志四、保证记录完整内容 一、预先判断日志级别 对DEBUG、INFO级别的日志,必须使用条件输出或者使用占位符的方式打印。该约定综合考虑了程序的运行效率和日志打印需求。 先来看一个反例: log.debug("输入参数信息id="+id+",obj="+obj); 复制 如果在某个配置了打印级别为WARN的应用中,按照上面代码打印DEBUG级别的日志,那么该日志不会被打印,但是会执行字符串拼接操作;如果obj是一个对象,还会执行toString()方法,白白浪费系统资源。 代码正确示例如下: //使用条件判断形式 if(log.isDebugEnabled()){ log.debug("输入参数信息id={}",id); } //使用占位符形式 log.debug("输入参数信息id={},obj={}",id,obj); 复制 二、避免无效日志打印 生产环境禁止输出DEBUG日志且有选择的输出INFO日志。 使用INFO、WARN级别来记录业务日志行为信息时,一定要控制输出量,以免磁盘空间不

相关推荐

推荐阅读