Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。Redisson的宗旨是促进使用者对Redis的关注分离(Separation of Concern),从而让使用者能够将精力更集中地放在处理业务逻辑上。如果是Spring工程中使用Redison,那直接引用Redisson即可,相关使用也可以参考之前文章<dependency> <groupId>org.redisson</groupId> <artifactI...阅读全文>>
简介lock4j是一个分布式锁组件,其提供了多种不同的支持以满足不同性能和环境的需求。立志打造一个简单但富有内涵的分布式锁组件。特性简单易用,功能强大,扩展性强。支持redission,redisTemplate,zookeeper。可混用,支持扩展。开源地址:https://gitee.com/baomidou/lock4j 引入相关依赖(支持同时存在,不同方法不同锁实现)。<dependencies> <!--若使用redisTemplate作为分布式锁底层,则需要引入--> &n...阅读全文>>
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。主要特点:快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson)强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)零依赖(没有依赖其它任何类库除了JDK)在使用FastJSON时,报错Could not read JSON: Unrecognized field,详细错误如下org.springframework.data.redis.serializer.SerializationExceptio...阅读全文>>
IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java,Kotlin等少数语言。更新后无意中发现Idea增加了一个功能,就是提示一个属性或者方...阅读全文>>
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。主要特点:快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson)强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)零依赖(没有依赖其它任何类库除了JDK)问题起因是因为系统内所有ID使用了注解@TableId(value = "id", type = IdType.ASSIGN_ID)源码解释@Getter public&nbs...阅读全文>>
起因是公司一个同事接到需求,让把一条数据录入时createTime字段,设置为指定的字段,但是他走断点发现执行MyBatisPlus的insert之前值是对的,但是insert之后就改成当前时间了。开始我认为是数据库字段设置为了根据当前时间录入值,即默认为当前时间戳,但是一想不对,默认是指没有设置值,这里已经设置了为什么还是不对?后来发现,系统代码中设置了MetaObjectHandler处理,特殊处理了createTime这个字段。MetaObjectHandler:元数据对象处理器MetaObjectHandler接口是mybatisPlus为我们提供的的一个扩展接口,我们可以利用这个接口...阅读全文>>
要在Edge中强制启用黑色模式(深色模式),可以按照以下步骤进行:在地址栏里输入: edge://flags,然后按下回车键。在搜索框里输入:"Force Dark Mode for Web Contents"(如果没有这项就输入"Auto Dark Mode for Web Contents")它的中文意思是强制网页开启暗色模式将选项中的Default 改为 Enabled点击下方重启即可完成上述步骤后,Edge浏览器将强制启用黑色模式(深色模式)。要在Google Chrome中强制启用黑色模式(深色模式),可以按照以下步骤进行:在Chrome浏览器...阅读全文>>
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。https://www.rabbitmq.com/ 如果不指定,系统运行,MQ就会马上进行消息的处理。但是此时系统并没有完全加载完毕,有一些内存的变量现在还没有值,这样启动肯定会有问题。这里我们需要指定一下MQ为手动启动,启动时机为系统初始化完毕。首先本地需要有RabbitMQ环境,然后创建一个Queue名字为myQueue。用Spri...阅读全文>>
Minio 是个基于 Golang 编写的开源对象存储套件,基于Apache License v2.0开源协议,虽然轻量,却拥有着不错的性能。 它兼容亚马逊S3云存储服务接口。可以很简单的和其他应用结合使用,例如 NodeJS、Redis、MySQL等。 下载 (官网:https://min.io/ ) cd /tmp wget https://dl.min.io/server/minio/release/linux-amd64/minio 创建...阅读全文>>
最佳实践(置顶)针对大家在测试过程中,经常出现的性能问题,以下给出3组最佳实践配置:如果生成ID速度不超过5W/s,不用修改任何配置参数如果生成ID速度超过5W/s,低于50W,推荐修改:SeqBitLength=10如果生成ID速度超过50W/s,接近500W,推荐修改:SeqBitLength=12总之,增加 SeqBitLength 会让性能更高,但生成的 ID 也会更长。算法介绍这是优化的雪花算法(雪花漂移),它生成的ID更短、速度更快。支持 k8s 等容器环境自动扩容(自动注册 WorkerId),可在单机或分布式环境生成数字型唯一ID。原生支持 C#/Java/Go/C/Rust/...阅读全文>>