XOR
缓存击穿、穿透、雪崩分别是什么
一、缓存雪崩 当redis中大量的缓存在一个较短的时间内全部过期。导致于在一个瞬时时间内大量的请求直接访问数据库。造成数据库的崩溃。 二、如何避免缓存雪崩 1、降级(禁用某些接口,只开放核心接口) 2、熔断(禁用某些服务) 三、如何测试 1、让redis挂了,让服务链接不上redis 二、缓存击穿 ......
博客项目04--数据库设计
数据库设计 数据库在一个信息管理系统中占有一个非常重要的地位,数据库结构设计的好坏直接影响到系统的效率以及实现的效果。合理的数据库结构设计可以提高数据库存储效率,保证数据的完整性和一致性。 3.1 创建数据库 首先创建一个名为db的数据库,用来存储云博客屋的所有数据。 3.2数据库结构设计 本网站定 ......
pgcat 基于rust 开发类似pgbouncer 的数据库链接池以及proxy 工具
pgcat 是postgresml 团队开源的,pg链接池以及proxy 工具,包含了不少特性 特性 事物pool,类似pgbouncer ,对于异常客户端以及遗弃事物处理做了提升 session pool 类似pgbouncer 多线程运行时 读查询负载均衡,对于primary 以及replica ......
网上订餐系统各模块的作用
Src下的java文件存放的我们后端的代码 Controller主要是调用了service层的方法,和一些业务逻辑的编写,我们可以根据具体方法名称看出来这个方法具体的功能,比如AdminController,里面的update方法就是对管理员信息的修改,toLogin跳转到管理员登录页面,login ......
博客项目-03
功能模块介绍 用户模块: (1) 添加用户 (2) 查看用户信息 (3) 加载头像 (4) 验证昵称唯一性 (5) 上传头像 (6) 修改用户信息 (7) 用户登录 (8) 用户退出 云记模块: (1) 分页查询云记; (2) 添加云记; (3) 删除云记; (4) 修改云记; 类型模块: (1) ......
《Java从入门到精通(第6版)》pdf版电子书免费下载
《Java从门到精通(第6版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细讲解了使用Java语言行程序发需要掌握的知识。全书分为23章,内容包括初识Java,熟悉Eclipse发工具,Java语言基础,流程控制,数组,类和对象,继承、多态、抽象类与口,包和内部类,异常处理,字符串,常 ......
盘点一个Python自动化办公需求,实现数据自动填充
大家好,我是皮皮。 ### 一、前言 前几天遇到了一个小需求,粉丝自己在实际工作中的需求,需要把下图的表格内容,自动填充到目标表格中去,省得挨个去复制粘贴了,而且还十分容易出错。 原始表格如下图所示: 
# Python学习之十八_django的学习(二) ## 前言 ``` 前面学习了基本的django的使用. 这里想着稍微深入一点学习templates 以及进行级联的路由展示. ``` ## 修改配置文件 ``` 要想使用 templates下面的文件. 需要修改一下项目级别的 settings ......
读发布!设计与部署稳定的分布式系统(第2版)笔记07_线程阻塞
 # 1. 通过增加复杂性解决一个问题,会产生全新系统失效方式的风险 # 2. 多线程技术使应用程序服务器具有足够 ......
缓存穿透下的测试方法
一、什么是缓存穿透 1、数据即不存在于缓存中也不存在于数据库中,常见一些网络共计场景以及前端逻辑错误时发生。 二、处理方式 1、郭论过滤器研发将所有可能存在的数据,hash到一个大的getmap中,一个一定不存在的数据会被getmap拦截掉,从而避免底层存储系统的查询压力。 2、如果一个查询返回的数 ......
CSS变换手册——CSS变换函数和属性的完整指南
CSS 变换允许您对 HTML 元素进行平移、旋转、倾斜、缩放或添加透视效果。 本教程讨论了像专家一样转换 HTML 元素所需了解的一切。 目录 什么是 CSStransform属性? 什么是 CSSrotate()函数? 什么是 CSSrotateX()函数? 什么是 CSSrotateY()函数 ......
Docker镜像精简方法之二 COPY vs ADD 与镜像层
# Docker镜像精简方法之二 COPY vs ADD 与镜像层 ## 摘要 ``` 昨天只是讲了一下大体的思路. 但是没有实操. 今天想着修改一下默认的打包镜像的命令,验证一下效果 ``` ## 原始命令 ``` FROM adoptopenjdk:8u222-b10-jdk-hotspot-b ......
缓存击穿下的处理方法和测试方法
一、什么是缓存击穿 当redis某个热key(比如首页广告)过期或者因为某些异常原因导致于无法从缓存中获取,导致大量的并发访问数据库而奔溃。 二、怎么测试 1、跟运维沟通,拿到热key,手动登录redis,人为删除,然后看熔断和降级的策略会不会触发。 2、压测模拟热key,手动登录redis,人为删 ......
VScode下载
[VScode官网](https://code.visualstudio.com/) 选择了自己的系统下载后,你会发现,**这VScode下载也太™慢了吧**。 复制下载的地址,把这个下载取消了,复制地址到网址栏,先别急着回车,把`az764295.vo.msecnd.net`这部分改成`vscod ......
AT_diverta2019_c 题解
小蒟蒻第一次写题解,不好请指出。 ## 思路1 1. 找每个字符串中的 `AB` 的数量; 2. 暴力枚举两个字符串的第一个字符和最后一个字符能否组成 `AB`; 然后就是劈里啪啦敲代码。 ```cpp #include #include using namespace std; struct st ......
AT_joi2021_yo1b_b 题解
小蒟蒻的第二篇题解,有问题请指出。 ## 思路 用三重循环依次找出 `I`、`O`、`I`。 第一个循环找第一个 `I`,若找出,继续第二个循环找 `O`,若找出,最后第三个循环找 `I`,若全部找出,直接输出 `Yes` 返回 $0$ 结束。遍历整个字符串也没有 `I`、`O`、`I` 的话,便输 ......
redis缓存失效下的降级和熔断以及测试方法
一、什么是降级和熔断 1、降级:禁用某些接口,只开放核心接口 2、熔断:禁用某些服务 说明:禁用的接口和服务访问会报错或拒绝访问。 二、如何测试 1、梳理服务中的核心接口列表 2、梳理系统重的核心服务列表 3、验证核心接口和服务的降级和熔断策略是否生效 注意:这种方式不好模拟,一般情况下降级和熔断策 ......
c++ 单元测试 doctest 笔记
[TOC] # 相关资料 github: 中文文档: [C++单元测试工具——doctest](https://blog.csdn.net/liao20081228/article/details/76984975) ## hello world ### 源码 ```c++ #define DOCT ......
OpenCL(Open Computing Language,开放计算语言)杂谈
OpenCL(Open Computing Language,开放计算语言)杂谈 参考文献链接 https://zhuanlan.zhihu.com/p/602844623 1. 介绍 OpenCL(Open Computing Language,开放计算语言):从软件视角看,它是用于异构平台编程的 ......
无重复最长字串
滑动窗口类型的, class Solution { public: int lengthOfLongestSubstring(string s) { int l=0;int r=0;int length=0; string ans; while(r<s.size()) { if(ans.find(s ......
随便谈谈
3:34:23如果一个操作系统允许任何内存区域的数据当做指令执行,让CPU毫无目的地运行,如果指令设计的足够复杂,运行的时间足够长,这片内存是否向真实世界一样形成了自己的规律和现象,同时甚至有会趋利避害的智慧出现? 3:35:15如果一个操作系统允许任何内存区域的数据被当作指令执行,而且这些指令设计 ......
Kubernetes(k8s)访问控制:身份认证
Kubernetes(k8s)访问控制:身份认证,Kubernetes访问控制,使用base auth的方式进行认证,使用token的方式进行认证,使用管理员的kubeconfig文件进行认证,使用自定义的kubeconfig文件进行认证。 ......
斐波那契数列
动态规划入门,复习一下。 正序计算。 class Solution { public: int fib(int n) { unordered_map<int,int> map; map.emplace(0,0); map.emplace(1,1); map.emplace(2,1); if (n<3 ......
html浮动详及案例
下面是 浮动内容的详细解释,一定要注意其中紫色和红色部分 下面是案例 :这个是有关于我们看到的一个小米案例他在网页中布局使用了浮动, 学了浮动我们知道添加了浮动属性的盒子都会紧贴着网页边框,但是我们 在实例中观察到盒子使用浮动却能 居中显示 这主要依靠与我们的第一准则,就是标准流和浮动相结合的写法先 ......
架构设计的历史背景
架构设计的历史背景 在探讨架构设计的历史背景时,了解软件开发进化的历史是一个重要的起点。了解软件开发的演变过程可以帮助我们更好地理解架构设计的起源和发展。现在,让我们来简要回顾一下软件开发的历史,并探索软件架构出现的背景。 首先,我们可以回顾软件开发的初期阶段。在计算机科学的早期,软件开发主要集中在 ......
架构的本质
架构到底是指什么 对于技术人员来说,“架构”是一个再常见不过的词了。我们会对新员工培训整个系统的架构,参加架构设计评审,学习业界开源系统(例如MySQL和Hadoop)的架构,研究大公司的架构实现(例如微信架构和淘宝架构)…… 虽然“架构”这个词很常见,但如果深究一下,“架构”到底是指什么,大部分人 ......