• 基于redis实现分布式bloomfilter

    如果想要判断一个元素是不是在一个集合里,一般想到的是将所有元素保存起来,然后通过比较确定。链表,树等等数据结构都是这种思路. 但是随着集合中元素的增加,我们需要的存储空间越来越大,检索速度也越来越慢(O(n),O(logn))。不过世界上还

    [阅读更多...]
  • springboot入门14 – Kafka应用

    简述 这几天优化了一下之前写的一个springboot kafka组件。比较起原生的spring-kafka来,我希望能够简化kafka的使用,可以更聚焦于具体的消息处理逻辑。 接下来的内容是这个组件的用法。 使用方法 添加依赖 这个组件已

    [阅读更多...]
  • springboot入门13 – 多CacheManager应用

    概述 之前有写过springboot缓存应用的说明(《springboot入门01 – 缓存的使用》)。不过实际的场景有时候会比较复杂一些,比如:需要同时使用redis和caffine来做多级缓存,或者需要在通用配置外应用一些个性化的配置。

    [阅读更多...]
  • springboot入门12 – SpringBoot MyBatis读写分离

    概述 随业务量增长,数据库读写分离是迟早要面临的问题。另外,公司在上规模后一般也会要求统一采用主从分布式数据库。 我习惯的处理方案是在应用层进行隔离:即将以写为主的业务放在一个应用上,以读为主的业务放在其他应用上。这应该算是最简单粗暴的解决

    [阅读更多...]
  • Excel导出超过65535行报异常

    工程中在使用POI导出Excel数据,某次因为导出的数据量比较大就报了下面的错误: 查了下资料,了解到问题在于使用了HSSFWorkbook。HSSFWorkbook用来操作Excel2003以前(包括2003)的版本,限制了每个Sheet

    [阅读更多...]
  • SpringBoot读写xml上传到S3

    最近的工作涉及到了生成xml文件并上传到AWS存储服务S3这样的处理。期间遇到了两个问题,简单记录下: springboot读取xml模板异常 将生成的xml上传到S3的问题 springboot的版本是2.1.9.RELEASE,读写xm

    [阅读更多...]
  • Java SpringBoot实现上传文件到AWS S3

    简单记录一下在Springboot中上传文件到AWS S3存储服务的代码。 在application.xml中添加aws相关配置: 新建一个AwsS3Componment类来执行上传文件操作: 因为使用的服务有设置endpoint,所以这里

    [阅读更多...]
  • Jackson处理json中的反斜杠

    在使用jackson处理json时遇到了反斜杠相关的问题。比如我们从数据库或文件中读到了这样的一个json字符串: 可以看到在World前面有一个反斜杠。因为这个反斜杠,JetBrains IDEA会提示这是一个错误的字符串,使用jakcs

    [阅读更多...]
  • springboot入门11 – MyBatis写入时null问题统一处理方案

    如果MySQL表的一些字段被设置为不允许为空,使用MyBatis写入的数据中相应字段的值是null就有可能会报类似下面的错误: 对于这个问题,我通常的做法是为对应字段的null值直接赋值一个空字符串(或其它默认值)。但是这次,不知道为什么那

    [阅读更多...]
  • java唯一字符串ID生成方案

    工作中经常会有生成唯一字符串的需求。通常最容易想到的是UUID。UUID的唯一性毋庸置疑,但是32位的长度也容易让人退避三舍。也曾经想过参考《短网址生成方案》来生成一串ID,但是试验了一下发现唯一性不太好。 最终采用的方案是时钟方案,简单来

    [阅读更多...]