2022年8月,成都不再像以往一样突发暴雨,而是持续高温天气,最高温度42°,在8月第三周15号开始,陆陆续续成都多个写字楼限电,工业用电直接关停,空调不能使用,大多都居家远程办公或放假几天,政府的目标是优先保证生活用电,恰巧作者所在的写字楼中途有次突然断电,我们的多个服务下线,其中就有物理机单机redis数据和集群redis数据丢失的情况,接下来我就redis的存储方案做一个简单的介绍: 一、r
作为一个秃头的开发者,在对方怼不过的时候,经常会被问到一个发自灵魂的拷问:你有对象吗? 不但有,哥们有好几个!甚至还有个叫春的管家 而在开发过程中让spring管理对象确实是很常见的,也非常方便,有哪些方式呢,我总结了以下几种,咱们具体说下。 总览1、@Configuration + @Bean 首先来说下最常用的,先用@Configuration来声明一个配置类,然后使用 @Bean 注解,这类
最近有个想法,打算开发一个自己的应用,原本的计划是先把前端部分需要的东西,常用组件什么的先过一遍,省的用的时候抓瞎,后端还是比较放心,因为我本身工作就是做后端开发的。 前端部分其实还算顺利,整体感觉现在的封装好的组件特别多,只要不是非要自定义相对复杂组件,或者非要操作系统的什么东西,应该不太能难的住我。 本来以为很顺畅,但是万万没想到最后竟然是后端的东西把我卡了一下… 哪地方呢?做过登录的后端同学
MYSQL事务事务:是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合(工作逻辑单元); 为什么要用事务?因为要保证数据的一致性,如果没有事务,那么在读写,删除修改数据时,会造成数据的各种问题出现,导致数据不一致,无效数据,错误数据等等问题,所以出现了事务,那么,一下我们来看看,事务定义
InnoDB存储引擎目录: InnoDB体系架构 CheckPoint技术 InnoDB关键特性一、InnoDB体系架构InnoDB体系架构图.jpg InnoDB存储引擎有多个内存块,这些内存块组成了一个大的内存池。后台线程主要负责刷新内存池中的数据、将已修改的数据刷新到磁盘。1.1 后台线程InnoDB后台有多个不同的线程,用来负责不同的任务。主要有如下: Master Thread 这是最
Stream流式编程
背景JDK的发行版本都已经衍生至18了,这个从8就引入的Stream流应当是属于基操了,但是最近遇到开发经验3年的工程师,对它似乎不是很熟悉,那么我们大家通过这些简单的例子来补补。Stream属于是对JDK8中引入函数式编程后,JDK自身的一个强有力的现身说法了。因此,本文属于函数式编程的姊妹篇了。 一、楔子在使用集合的时候迭代往往是使用的最多的,对比是否使用stream的代码实现 public
函数式编程
背景JDK8开始引入的函数式编程,大大降低了Java编码的复杂度。它是一种编程范式,即一切都是数学函数。函数式编程语言里也可以有对象,但通常这些对象都是恒定不变的,要么是函数参数,要么是函数返回值。函数式编程语言里没有 for/next 循环,因为这些逻辑意味着有状态的改变。相替代的是,这种循环逻辑在函数式编程语言里是通过递归、把函数当成参数传递的方式实现的。 一、常用接口JDK 8 中提供了大量
idea插件开发教程
ideac插件开发教程开发插件需要准备点什么首先你需要有一定的java开发经验,新手的话,还是需要先学习基础语法,idea的使用等。 在工作中有遇到的重复繁琐的动作,知道自己接下来要开发的东西长什么样,根据自己的需要不断地去完善插件。 大概看下idea的官方开发手册,对它能干什么有一个大致的直观了解。 [官方文档]https://plugins.jetbrains.com/docs/intelli
redis为什么会变慢了
redis的快体现在:redis接收到客户端的请求,通常情况下在微妙级就能查找数据,并完成操作。 本文主要分成以下几部分介绍redis访问原理和慢操作原因 1.redis数据结构的底层实现 2.redis键值对的快速访问 3.redis有哪些慢操作 一.redis数据结构的底层实现redis的数据结构有: String(字符串)、List(列表)、 Hash(哈希)、Set(集合)和 Sorted
redis单线程为什么快
本文分为以下几个部分说明介绍redis单线程 1.redis为何使用单线程 2.redis使用单线程为何性能那么高 3.redis哪些功能不是单线程 一.redis为何使用单线程现在的cpu都是多核多线程的架构,理论上程序上开多个线程运行,就代表能有多个线程同时并发的在运行,N个线程运行的总时间等于运行时间最长的任务;单线程运行的总时间是每个任务运行时间之和。 举个例子: 有三个任务 任务