大家好,我是pub,马上就到一年中最热闹的金九银十,你是不是要检验一下自己。这篇我们来看看redis。 为什么Redis比较快 Redis中的查询速度为什么那么快呢? 1、因为它是内存数据库; 2、归功于它的数据结构; 3、Redis中是单线程(引入了多线程,但核心内存读写仍为单线程); 4、Redis中使用了多路复用。 Redis中的数据结构 这里借用一张来自《Redis核心技术与实战》Redis中数据结构和底层结构的对应图片 1、简单动态字符串 Redis中并没有使用C中char来表示字符串,而是引入了简单动态字符串(SimpleDynamicStrings,SDS)来存储字符串和...

  5YI10LEk8YTp   2023年11月30日   19   0   0 字符串字符串redis数据数据redis

大家好,我是pub,权限模块几乎是每个系统必备的功能,你一般是怎么设计的?本篇分享几种权限的设计原则。 1为什么需要权限管理 日常工作中权限的问题时时刻刻伴随着我们,程序员新入职一家公司需要找人开通各种权限,比如网络连接的权限、编码下载提交的权限、监控平台登录的权限、运营平台查数据的权限等等。 在很多时候我们会觉得这么多繁杂的申请给工作带来不便,并且如果突然想要查一些数据,发现没有申请过权限,需要再走审批流程,时间拉得会很长。那为什么还需要这么严格的权限管理呢? 举个例子,一家支付公司有运营后台,运营后台可以查到所有的商户信息,法人代表信息,交易信息以及费率配置信息,如果我们把这些信息不加筛选...

前言     项目中日志系统是必不可少的,目前比较流行的日志框架有log4j、logback等,可能大家还不知道,这两个框架的作者是同一个人,Logback旨在作为流行的log4j项目的后续版本,从而恢复log4j离开的位置。另外slf4j(SimpleLoggingFacadeforJava)则是一个日志门面框架,提供了日志系统中常用的接口,logback和log4j则对slf4j进行了实现。我们本文将讲述如何在springboot中应用logback+slf4j实现日志的记录。 为什么使用logback Logback 是lo...

本地开发之痛苦 在开发之前,首先你需要安装各种开发工具和服务支持到你的开发环境当中,可能会出依赖问题,环境变量问题,端口冲突,经编译库问题等等。 开发途中,可能你又需要依赖一些其他的服务,你最好祈祷不会出问题,可能你又要重写来配置你的环境,因为你的所有的依赖服务都在你的唯一的工作空间里面。 如果你的伙伴的操作系统不统一,可能你还会遇到一些不同元字符解析不一致的问题。 然后上线之前,可能你在本地开发调试都可以完美运行,一但部署到服务器,就会出现各种问题。因为大多数情况下,我们的开发环境和生产环境并不相同。 可能你下次又有要用到一个新的开项目的开发环境。你又要重复面对上面这些问题. 你不得不...

  5YI10LEk8YTp   2023年11月30日   17   0   0 dockerdockerphpphp

目录 何为优雅关机 kill指令 Runtime.addShutdownHook Spring3.2.12 SpringBoot 再谈为了提醒明知故犯(在一坑里迭倒两次不是不多见),由于业务系统中大量使用了SpringBootembeddedtomcat的模式运行,在一些运维脚本中经常看到Linux中 kill 指令,然而它的使用也有些讲究,要思考如何能做到优雅停机。 何为优雅关机 就是为确保应用关闭时,通知应用进程释放所占用的资源: 线程池,shutdown(不接受新任务等待处理完)还是shutdownNow(调用 Thread.interrupt...

  5YI10LEk8YTp   2023年11月28日   19   0   0 JVMsedJVMsedspringspring

Redis使用规范 在公司项目中,redis属于高频使用,在使用中,我们遇到了各种各样的redis问题,于是针对自身情况梳理了一个redis使用规范。 一、键名设计 1、key名设计 禁止包含特殊字符(比如空格、换行、单双引号以及其他转义字符) 建议以业务名为前缀,以冒号分割来构造一定规则的key名(比如业务名:表名:id) 比如:teach:leeson_id:21 控制key的长度 key太长量一大起来就会非常占用内存 2、value设计 拒绝大key操作 禁用超过10K的string大key(虽然redis支持512MB大小的string),如果1mb的key每秒...

华为近日在官网发布了《2021可持续发展报告》,报告显示,华为全球员工19.5万人,其中30~50岁占比70%,30岁以下28%,50岁以上为2%,这意味着被有些人刻意渲染的华为35岁危机谣言不攻自破。  来源:网络 01 华为30岁以下员工仅占28% 8月17日,华为在官网发布《2021可持续发展报告》,从数字包容、安全可信、绿色环保、和谐生态等方面进行了介绍。 报告披露,截止2021年,华为在全球已有19.5万员工,其中,从事研究与开发的人员约10.7万,占员工总数的54.8%,海外员工本地化率为64%。 据悉,这19.5万名员工中,30-50岁占比最多达7...

  5YI10LEk8YTp   2023年11月28日   19   0   0 微信官网数据官网微信数据

背景 公司有个渠道系统,专门对接三方渠道使用,没有什么业务逻辑,主要是转换报文和参数校验之类的工作,起着一个承上启下的作用。 最近在优化接口的响应时间,优化了代码之后,但是时间还是达不到要求;有一个诡异的100ms左右的耗时问题,在接口中打印了请求处理时间后,和调用方的响应时间还有差了100ms左右。比如程序里记录150ms,但是调用方等待时间却为250ms左右。 下面记录下当时详细的定位&解决流程(其实解决很简单,关键在于怎么定位并找到解决问题的方法) 一、定位过程 分析代码 渠道系统是一个常见的spring-bootweb工程,使用了集成的tomcat。分析了代码...

  5YI10LEk8YTp   2023年11月28日   21   0   0 spring加载tomcattomcatspring加载

大家好,我是JavaPub。 JWT token的payload部分是一个json串,是要传递数据的一组声明,这些声明被JWT标准称为claims。 JWT标准里面定义的标准claim包括: iss(Issuser):JWT的签发主体; sub(Subject):JWT的所有者; aud(Audience):JWT的接收对象; exp(Expirationtime):JWT的过期时间; nbf(NotBefore):JWT的生效开始时间; iat(Issuedat):JWT的签发时间; jti(JWTID):是JWT的唯一标识。 除了以上标准声明以外,我们还可以自定义声明。...

  5YI10LEk8YTp   2023年11月28日   37   0   0 MySQLMySQLJavajava客户端客户端

大家好,我是JavaPub。 以下是Spring面试题,相信大家都会有种既眼熟又陌生的感觉、看过可能在短暂的面试后又马上忘记了。JavaPub在这里整理这些容易忘记的重点知识及解答,建议收藏,经常温习查阅。 评论区见 @ 1.什么是Spring框架?Spring框架有哪些主要模块? 2.SpringIOC、AOP举例说明 3.什么是控制反转(IOC)?什么是依赖注入(DI)? 4.描述一下SpringBean的生命周期? 5.SpringBean的作用域之间有什么区别? 6.Spring中都应用了哪些设计模式 7.SpringAOP里面的几个名词的概念 8.BeanFactory和Appl...

目录 前言 SpringBoot中的Tomcat容器 SpringBoot设置Undertow Tomcat与Undertow的优劣对比 最后 前言 在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。 同时,SpringBoot也支持Undertow容器,我们可以很方便的用Undertow替换Tomcat,而Undertow的性能和内存使用方面都优于Tomcat,那我们如何使用Undertow技术呢?本文将为大家细细讲解。 SpringBoot中的Tomcat容器 SpringBoot可以说是...

  5YI10LEk8YTp   2023年11月28日   24   0   0 服务器Web服务器JavawebJava

@[toc] 场景 我有一个非常大的表,估计几百万或者几千万。 我开始使用了selectcount()frommy_table_javapub方式,查询非常慢。 如何解决??? 方案 如果你需要更快地获取表中的行数,你可以考虑使用特定的技术或工具来进行优化。一种常见的方法是使用表的统计信息,比如PostgreSQL中的pg_class表,它包含了关于表的行数等统计信息。你可以通过以下查询来获取表的行数: SELECTreltuples::bigintASrow_countFROMpg_classWHERErelname='your_table_name'; 这个查询会直接从系统表中获取表的...

容器的定义:容器是为了解决“在切换运行环境时,如何保证软件能够正常运行”这一问题。 目前,容器和Docker依旧是技术领域最热门的词语,无状态的服务容器化已经是大势所趋,同时也带来了一个热点问题被大家所争论不以:数据库MySQL是否需要容器化? 认真分析大家的各种观点,发现赞同者仅仅是从容器优势的角度来阐述MySQL需要容器化,几乎没有什么业务场景进行验证自己的观点。 反过来再看反对者,他们从性能、数据安全等多个因素进行阐述MySQL不需要容器化,也举证了一些不适合的业务场景。 下面,我们就聊一下Docker不适合跑MySQL的N个原因! 数据安全问题 不要将数据储存在容器中,...

  5YI10LEk8YTp   2023年11月28日   17   0   0 dockermysqlmysql数据库数据库docker

这是一位读者带回来的面试题 面试官心理分析 面试题剖析 为什么Nginx不使用多线程? Nginx常见的优化配置有哪些? 这是一位读者带回来的面试题 Nginx是如何实现并发的?为什么Nginx不使用多线程?Nginx常见的优化手段有哪些?502错误可能原因有哪些? SpringBoot合集。 项目地址:https://github.com/Rodert/SpringBoot-javapub 面试官心理分析 主要是看应聘人员的对NGINX的基本原理是否熟悉,因为大多数人多多少少都懂点NGINX,但是真正其明白原理的可能少之又少。明白其原理,才能做优化,否则只能照样搬样,出了问题也无...

  5YI10LEk8YTp   2023年11月28日   30   0   0 Javajavanginxnginx

我是JavaPub,三观要比五官正,夜跑10公里,神清气爽。 以下是JVM面试题,相信大家都会有种及眼熟又陌生的感觉、看过可能在短暂的面试后又马上忘记了。JavaPub在这里整理这些容易忘记的重点知识及解答,建议收藏,经常温习查阅。 评论区见 @ 1.说一说JVM的主要组成部分 2.说一下JVM的作用? 3.说一下堆栈的区别? 4.Java内存泄漏 5.JVM有哪些垃圾回收算法? 6.说一下JVM有哪些垃圾回收器? 7.说一下类加载的执行过程? 8.什么是双亲委派模型?为什么要使用双亲委派模型? 9.CMS垃圾清理的过程 10.常用的JVM调优的参数都有哪些? 系列文章 基于JDK8 1...

  5YI10LEk8YTp   2023年11月28日   23   0   0 Javajvmjava加载加载jvm

我是JavaPub,三观要比五官正,夜跑10公里,神清气爽。 目录 背景 切面介绍 切面的使用【基于注解】 动手写一个请求日志切面 高并发下请求日志切面 背景 最近项目进入联调阶段,服务层的接口需要和协议层进行交互,协议层需要将入参[json字符串]组装成服务层所需的json字符串,组装的过程中很容易出错。 入参出错导致接口调试失败问题在联调中出现很多次,因此就想写一个请求日志切面把入参信息打印一下,同时协议层调用服务层接口名称对不上也出现了几次,通过请求日志切面就可以知道上层是否有没有发起调用,方便前后端甩锅还能拿出证据。 本篇文章是实战性的,对于切面的原理不会讲解,只会简...

  5YI10LEk8YTp   2023年11月28日   29   0   0 高并发HTTPSystem高并发Systemhttp

Hi,我是叶小钗,从技术转型成管理,可以聊聊吗? 生产队的驴 去年成长较大,过年期间多数时间在做复盘,结果就是屯了十几篇文章... 上班后开始发文,在大家眼中就像生产队的驴一样,其实不过年屯下来的罢了,再穿插一些星球问答、读书笔记,所以基本就是日更了! 但囤货已经耗尽,所以所以大家不要怕,卷不动了,看看这个月的成绩单,一个月增加3000多粉丝: 关注我,可以了解以下内容,多是实操方法论哦: 公司文化建设 技术创新 产品思考、产品方法论 数字化转型 管理、成长类话题 少数高端管理:公司治理话题 之前我在群里请其他小伙伴分享下,得到的回答是: 这个文章不太合适分享吧... 我去看了下...

我是JavaPub,三观要比五官正,夜跑10公里,神清气爽。 第1关 一天,老板找到我,说要做个简单的工作流引擎。 我查了一天啥是工作流,然后做出了如下版本: 按顺序添加任意个审批人组成一个链表,最后加一个结束节点 记录当前审批人,当审批完后,审批人向后移动一位 当审批人对应结束节点时,流程结束 老板:简陋了点。 第2关 老板又来了:要支持会签节点。 我又查了一天啥是会签节点,发现会签节点就是一个大节点,里面有很多审批人,当这个大节点里的所有人都审批通过后,才能进入下一个节点。 我想了一个星期,推翻了原来的链表式设计:   结构上我做了如下调整: 把节点分为两大类...

  5YI10LEk8YTp   2023年11月28日   14   0   0 Java子节点嵌套嵌套子节点java

一、工作流介绍 1.1概念 工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。 1.2工作流系统 一个软件系统中具有工作流的功能,我们把它称为工作流系统,一个系统中工作流的功能是什么?就是对系统的业务流程进行自动化管理,所以工作流是建立在业务流程的基础上,所以一个软件的系统核心根本上还是系统的业务流程,工作流只是协助进行业务流程管理。即使没有工作流业务系统也可以开发运行,只不过有了工作流可以更好的管理业务流程,提高系统的可扩展性。 1...

DB-Engines数据库流行度排行榜发布了5月份的更新。 与上个月的数据相比,各数据库的分数波动不大。Oracle是本月分数增加最多的数据库,但也只是比上月多了8分,而且与去年同期相比,下降了7.12分。紧跟其后的MySQL和SQLServer跟去年同期相比,分数可谓是暴跌,分别下降了34.28和51.46分。 PostgreSQL和Redis的分数较去年也上涨了不少,分别增加了56.04和16.85分。此外,Redis的排名也从去年同期的第7名上升到了现在的第6名。 和去年同期相比,分数显著上涨的数据库还有 MicrosoftAccess、MariaDB和Sno...

  5YI10LEk8YTp   2023年11月28日   23   0   0 Javajava数据库mysqlmysql数据库
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~