Redis实践(4)SpringBoot Data Redis 主从架构集成
1.基本介绍 前篇文章搭建了一个Redis的主从高可用架构,无论怎么玩也都是基于Redis客户端进行的,实际需要使用相关的Spring技术整合才是灵魂需要,所以基于这个一主二从的Redis环境来使用SpringBoot Data Redis来整合实践,本篇文章将搭建项目环境,配置相关参数。从Spring官网查看了SpringBoot Data Redis子项目的介绍信息,选择了2.7.12的稳定版本,比2.X再新的2.7.13-SNAPSHOT为快照版本,限制Spring Framework 5.3.27 且 JDK8,3.X的稳定版本限制的条件Spring Framework 6.0.9 且 JDK17,参考如下图所示 (2.7.12限制条件) (3.0.6限制条件) 2.Maven坐标 <properties> <project.build.sourceEncoding>UTF-8<...
文章分类:经验分享 技术知识
RedisRedis实践(3)主从复制高可用架构
1.基本介绍 Redis单击环境版仅适合学习和测试应用,因为一台服务器将承载应用的全部请求,压力较大且容量有限,所以生产环境应当考虑更高级别的可用策略,主从复制是Redis高可用中最简单的实现方式。实现Redis高可用的模式主要有三种: 主从模式、哨兵模式、集群模式。本文将基于当前最新版本Redis7.0.11来搭建的主从模式,并验证相关配置的正确性。 主从模式顾名思义是一台为主机Master,一台为从机Slave,甚至可以是多台为从机,这种结构将多台服务器的Redis服务连接为一个整体。Redis master slave 使用异步方式将数据从 master 传输到 slave。从节点会确认接收到主节点发送的数据,主节点将包含多个从节点。Redis 支持级联复制类型,因此我们的从服务器连接到另一个从服务器,为主从节点启用持久性选项是非常好的做法。基本上,主从是一种用于将数据库从一台服务器...
文章分类:经验分享 技术知识
RedisRedis实践(2)客户端介绍
前面一篇实践了Redis的安装,也算是有了一个基础的Redis环境,本篇文章介绍一下相关的Redis的客户端,笔者并未对各个的客户端亲自实践,但总归是收集了一些官方介绍的资料进行了解和汇总,本文所述的客户端是指以客户端软件的形式访问Redis服务器,并非是具体的某个编程语言的接入框架,且看下文细细道来,以下各个客户端的排名不分先后。 1.客户端介绍 1.1 RedisInsight Redis-cli是Redis官方命令行工具,可用于执行Redis命令,并在终端中提供直观的Redis终端命令的操作体验。 Redis官方提供的客户端RedisInsight 是将图形用户界面与 Redis CLI 相结合,让您可以使用任何 Redis 部署。您可以直观地浏览数据并与之交互、利用诊断工具、通过示例学习等等。最重要的是,RedisInsight 是免费的。 RedisInsight 是一个强大的工...
文章分类:经验分享 技术知识
RedisRedis实践(1)简单介绍与安装
1.背景介绍 早在19和20年全面学习SpringBoot相关技术知识时也曾经有学习到Redis,主要是看了几家的视频教程,但是未曾有具体的实践,后来再学习到Docker和Spring Session框架的Redis存储时,又稍微的实践了一丢丢,所有的实践也就仅此而已,蜻蜓点水的程度,谈不上有掌握,更谈不上深度掌握,所以我把Redis这块的技术暂时搁浅了,直到前几个月掌握到SpringCloud Alibaba系列技能后,又想起来Redis这块的技术,对于专业的技术开发者,怎么能容忍自己不去掌握了,所以一个月以来花了许许多多的周末和晚上的闲暇时光,进行了学习实践。 本次相关实践是站在自己的水平面上进行的实践,实践范围也主要围绕个人感兴趣的知识范围内的实现,只占整合Redis相关技术圈非常非常小的一部分,核心围绕Redis的主从复制、集群架构、桌面客户端、SpringBoot Data Re...
文章分类:经验分享 技术知识
RedisJava解析xml大文件
基本介绍 曾经使用Java解析xml文件的实现方式和优缺点还是经典的面试题目,要是没有经历过或者并不认可的说明还是很年前的。日常工作中常见的配置文件类型有:xml、yml、properties、ini、json等格式,一些常用简单的配置可能首选将不再是xml,但xml格式也终将不会被抛弃,毕竟有许多适合的应用场景与其它格式无法具备的优点。 关于xml格式文件的解析,记忆中常用的有dom、jdom、jom4j、sax和JDK6中增加的Jaxb组件,对于xml大文件的解析除了它们自身实现的差异外,也主要取决于对各个API的把控,这几年来对于xml文件的解析一直使用的是Jaxb,话说还真的是我觉得最便捷好易用的,只不过在去年遇到了一个50M的以上大小的xml文件,在文件稍大的情况下,首先联想到的便是肯定不能一次性读取文件,再去使用xml解析,也就是说上述的所有组件均不能直接使用,也在同事超大佬的...
文章分类:经验分享 技术知识
使用Allatori实现代码混淆加密
每个软件开发人员迟早都会意识到,他不仅必须支持他制作的产品并不断更新它,试图以所有可能的方式改进它,而且还要同时保护它。在我们这个信息技术和快速变化的市场时代,这些规则是在软件开发业务中取得成功的唯一途径。每个软件开发人员迟早都会意识到,他不仅必须支持他制作的产品并不断更新它,试图以所有可能的方式改进它,而且还要同时保护它。在我们这个信息技术和快速变化的市场时代,这些规则是在软件开发业务中取得成功的唯一途径。混淆器Allatori充分利用了人类大脑在代码保护领域的发明,可供许多软件开发人员使用,他们的目的是保护他们的秘密和专有技术——这实际上意味着保护他们的未来。它的官方网站地址为“https://allatori.com/”,前面这段也是从其官网上翻译来摘选的,看到更新日志时才知道JDK的版本也到了17的版本了,当前最新版本为Allatori-8.2,可免费用于教育和非商业项目。 代码混...
文章分类:经验分享 技术知识
获取文件内容的编码格式
对于字符文件的读取若要读取到预期的文本内容则需要传递对应的文件编码,若出现读取文件的编码与文件实际编码不匹配时则会出现乱码,本文则是提供几种获取文件编码的实现方式。本文所述的文件编码格式是狭义的个人认为的UTF-8和GB2312(GBK)的中文编码,其它的非中文编码则不在考虑的范围内。 所以,本文以简单的示例出发,提供两个文件分别是GB2312.txt和UTF8.txt,在代码中分别获取到这两个文件的实际编码即可,目前掌握了共3种方式,详细参考如下: Jdk内置Charset 这种方式没有具体的实践,听旁边的同时随口一说,主要是使用Charset中的编码进行编码,是canEncode是否可以按指定的编码进行编码啥的,同时也有见到那种将文件内容读取到,而后再转换为String类型,使用new String(文件内容.getBytes(编码) , 编码)后的文本再与原始文件内容进行对比,若对比...
文章分类:经验分享 技术知识
使用JAXB解析XML文件
1.基本介绍 这几年由于工作中的许多接口交互都使用到了XML来传递报文数据,本篇文章特对XML数据的解析以我熟悉的方式分享给大家。在十多年前Spring没有这么普及的时候(或者说我还是非常水的水军的时候),关于XML文件的解析还是一道标准的面试题,大概问到的则是解析XML的组件有几种,并且这几种解析的区别,同时我们还经常引以为傲的使用XML来自定义参数配置文件,再配合dom4j之类的解析组件进行参数解析,最终将XML中的标签以及熟悉映射到我们的Javabean数据对下中。巧的是曾经分享过一次会议是JDK的新特性,当我整理到JDK6的新特性时发现了新增强的JAXB特性,仔细了解后发现其是Java官方提供的读取和生成XML文档的实现,大家可以在官网的介绍中查看更多更精准的描述与细节知识点,参考官网地址为:https://www.oracle.com/technical-resources/ar...
文章分类:经验分享 技术知识
IntelliJ IDEA的 Groovy 反向生成代码
前面有两篇文章介绍了使用IntelliJ IDEA 内置的 Database功能反向生成 Model(Entity),今天突然想着把这块再捡起来增强一下,增加除了Model以外的Mapper、Service、Controller部分的代码生成,按照自己所遵循的规范来省去这部分的劳动,节省10分钟吧。 实现这个代码生成还有主要的原因,那就是mybatis plus所提供的代码生成器组件略微复杂,正常需要投入较多的时间去实践,而且对于它实现自动生成代码的契合度如何还有待斟酌,所以就没有深入分析,把前面使用IntelliJ IDEA 中内置的生成POJOs功能又捡起来,丰富了一下。 如果你还没有看过所谓的其它两篇反向生成的文章,建议跳转回去找找看吧,那两篇文章基础一些。本文是在反向生成JavaBean的基础上进行的扩展,即数据库表部分是基础,根据约定生成对应的实体对象,再实体对象基础上进行生成M...
文章分类:经验分享 技术知识
IDEA 代码生成IntelliJ IDEA反向生成Javabean(锲合度100%)
恰好前两天在一个同事的笔记里看到了使用IDEA反向生成JPA实体Entity的详细教程,体验了一下效果还不错,回归到自己的博客系统,每次新开一个功能模块总是要先创建数据库表,再根据数据库表结构生成对应的实体对象,本次就结合自己的功能需求,来使用IDEA反向生成我所需求的Javabean对象。 在此之前,也曾经写过类似的Demo,主要是根据查询某个表的字段结构生成对应的Java文件,比如包括的信息为:表注释转换为类注释;表字段类型转换为属性类型;表字段名称转换为属性名称;总之实现起来比较简单,但是这些东西在实现与使用的时候跟IDE是没有关系,也需要指定生成文件编码、生成文件路径等等繁琐的细节,然而本次分享的实现则较为完美,整个过程采用IDEA完成,使用Groovy语言实现(在今天之前我也是0基础),该语言在使用时跟Java语言一样,以至于我看着看着,琢磨着就将所有的问题全给解决了,作为新语言...
文章分类:经验分享 技术知识
IDEA 代码生成运营时间: 天
用户数量: 人
文章数量: 篇
评论数量: 条
点赞个数: 个
最后更新: