Loading

随笔分类 -  后端

摘要:Redis和数据库缓存一致性问题之我见 一个经典的问题,redis经常被用来当作缓存,那么redis缓存一致性怎么解决?翻阅了网上很多资料,答案不一,这里简单整理一下我的看法。 1 先操作缓存,后操作数据库 1.1 先删缓存,再更新数据库 问题 脏写 在并发的情况下,可能出现以下情况的问题 解决方案 阅读全文
posted @ 2021-04-01 15:38 cpaulyz 阅读(234) 评论(0) 推荐(0)
摘要:Redis(四):事务 redis 事务的相关命令 https://www.redis.net.cn/order/3639.html 序号 命令及描述 1 DISCARD 取消事务,放弃执行事务块内的所有命令。 2 EXEC 执行所有事务块内的命令。 3 MULTI 标记一个事务块的开始。 4 UN 阅读全文
posted @ 2021-03-09 16:42 cpaulyz 阅读(92) 评论(0) 推荐(0)
摘要:Redis(三):持久化RDB与AOF详解 1 持久化 Redis 提供了不同级别的持久化方式: RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储. AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF命令以redis协议追加保存每次写的 阅读全文
posted @ 2021-03-04 15:11 cpaulyz 阅读(361) 评论(0) 推荐(0)
摘要:Redis(二):配置文件 配置文件 参考Redis详解(二) redis的配置文件介绍 redis安装目录 你可以通过 CONFIG 命令查看或设置配置项。 语法 Redis CONFIG 命令格式如下: redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTIN 阅读全文
posted @ 2021-03-04 15:09 cpaulyz 阅读(88) 评论(0) 推荐(0)
摘要:Redis(一):Redis介绍及数据结构 1 Redis介绍 1.1 什么是redis REmote DIctionary Server 远程字典服务器 Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以 阅读全文
posted @ 2021-03-04 14:43 cpaulyz 阅读(198) 评论(0) 推荐(0)
摘要:SpringBoot+Mybatis保证读写事务隔离性的三种实现方式 实际开发中经常会有这样的需求,注册用户,如果用户名存在则失败,否则注册成功。 在单线程下,逻辑很简单,但是高并发下需要保证事务隔离性,这里举一个简化版的例子来讲述自己的实现方法。 问题 在实际开发的时候,我们经常会做这种事情: 先 阅读全文
posted @ 2021-03-02 17:17 cpaulyz 阅读(1387) 评论(0) 推荐(0)
摘要:SpringCloud(八):Zuul路由网关 1 介绍 1.1 什么是Zuul Zuul官方介绍 Zuul包含了对请求的路由(用来跳转的)和过滤两个最主要功能: 其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础,而过滤器功能则负责对请求的处理过程进行干预,是实现请求 阅读全文
posted @ 2021-02-10 18:14 cpaulyz 阅读(162) 评论(0) 推荐(0)
摘要:SpringCloud(七):Hystrix之Dashboard流监控 Hystrix Dashboard,它主要用来实时监控Hystrix的各项指标信息。通过Hystrix Dashboard反馈的实时信息,可以帮助我们快速发现系统中存在的问题。下面通过一个例子来学习 1 Demo 1.1 编写d 阅读全文
posted @ 2021-02-09 17:32 cpaulyz 阅读(166) 评论(0) 推荐(0)
摘要:SpringCloud(六):Hystrix之服务熔断、服务降级 1 Hystrix介绍 Hystrix是一个应用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时,异常等 Hystrix 能够保证在一个依赖出问题的情况下,不会导致整个体系服务失败,避免级联 阅读全文
posted @ 2021-02-09 17:31 cpaulyz 阅读(353) 评论(0) 推荐(0)
摘要:SpringCloud(五):Feign注解形式的服务调用 1 Feign简介 Feign 本质上也是实现了 Ribbon,只不过后者是在调用方式上,为了满足一些开发者习惯的接口调用习惯 用于替换原本客户端下的各种RestTemplate操作 1.1 Feign是什么 Feign是声明式Web Se 阅读全文
posted @ 2021-02-08 17:49 cpaulyz 阅读(1008) 评论(0) 推荐(0)
摘要:SpringCloud(四):服务发现与Ribbon负载均衡详解 1 负载均衡及Ribbon 1.1 Ribbon是什么 Spring Cloud Ribbon 是基于Netflix Ribbon 实现的一套客户端负载均衡的工具。 简单的说,Ribbon 是 Netflix 发布的开源项目,主要功能 阅读全文
posted @ 2021-02-05 19:14 cpaulyz 阅读(438) 评论(0) 推荐(0)
摘要:Swagger2:自动生成API接口文档 有个项目需要用到Swagger2来做前后端对接,查了下文档发现挺好用的,记录一下 Swagger2使用文档 依赖 <!--swagger2的依赖--> <dependency> <groupId>io.springfox</groupId> <artifac 阅读全文
posted @ 2021-02-04 15:04 cpaulyz 阅读(535) 评论(0) 推荐(0)
摘要:SpringCloud(三):Eureka与服务注册 本文介绍SpringCloud中Eureka的单机/集群构建,与将服务注册到Eureka的过程。服务发现将在Ribbon章节中进行介绍。 1 Eureka简介 1.1 什么是Eureka Netflix在涉及Eureka时,遵循的就是API原则. 阅读全文
posted @ 2021-02-04 13:57 cpaulyz 阅读(308) 评论(0) 推荐(0)
摘要:SpringCloud(二):Rest环境搭建 本文主要介绍了SpringCloud开发使用的Rest环境搭建,类似SpringBoot,但是作为总项目下的三个Module进行搭建 1 项目总结构 2 父项目 创建maven项目,一路next 把src删掉 修改pom.xml <?xml versi 阅读全文
posted @ 2021-02-02 21:39 cpaulyz 阅读(295) 评论(0) 推荐(0)
摘要:SpringCloud(一):基础知识 1 基础知识 1.1 微服务的四个问题 服务如何访问? 服务之间如何通信? 服务如何治理? 服务挂了怎么办? 1.2 解决方案:SpringCloud生态 Spring Cloud NetFlix 一站式解决方案 API网关:zuul组件 通信:Feign 服 阅读全文
posted @ 2021-02-02 21:38 cpaulyz 阅读(355) 评论(0) 推荐(0)
摘要:SpringSecurity:配置与前后端场景应用 1 安全简介 安全应该再什么时候考虑?设计之初 漏洞,隐私泄露 应用的基本架构已经确定,要修复安全漏洞,可能需要对系统的架构做出比较重大的调整 安全常用框架: Shiro Spring Security 官网描述: Spring Security 阅读全文
posted @ 2021-01-31 18:06 cpaulyz 阅读(610) 评论(2) 推荐(0)
摘要:Nginx:Docker部署与负载均衡开发实践 1 介绍 1.1 为什么需要Nginx 并发量小时 并发量大时 于是需要横向扩展,增加几台服务器,这时候几个项目启动在不同的服务器上,用户要访问,就需要增加一个代理服务器 我们希望这个代理服务器可以帮助我们接收用户的请求,然后将用户的请求按照规则帮我们 阅读全文
posted @ 2021-01-29 00:24 cpaulyz 阅读(270) 评论(0) 推荐(0)
摘要:JAVA基础:反射基础 1 反射基础 1.1 概念 反射就是把java类中的各种成分映射成一个个的Java对象 例如:一个类有:成员变量、方法、构造方法、包等等信息,利用反射技术可以对一个类进行解剖,把个个组成部分映射成一个个对象。 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的 阅读全文
posted @ 2021-01-25 22:25 cpaulyz 阅读(170) 评论(0) 推荐(0)
摘要:JVM:类加载机制 1 类的声明周期 其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑定(也成为动态绑定或晚期绑定)。 另 阅读全文
posted @ 2021-01-25 22:24 cpaulyz 阅读(179) 评论(0) 推荐(0)
摘要:JAVA基础:注解应用示例 本文需要的背景知识:JAVA基础:注解机制 1 利用反射,构建框架 —— 程序员 A : 我写了一个类,它的名字叫做 NoBug,因为它所有的方法都没有错误。 —— 我:自信是好事,不过为了防止意外,让我测试一下如何? —— 程序员 A: 怎么测试? —— 我:把你写的代 阅读全文
posted @ 2021-01-22 23:27 cpaulyz 阅读(177) 评论(0) 推荐(0)