Redis缓存中的雪崩、击穿和穿透
Redis作为缓存中间件使用时,会存在三种缓存失效导致的异常情况,分别时雪崩、击穿和穿透。
Redis雪崩是指Redis故障,或者大量缓存同时失效的场景,大量缓存同时失效后,会导致本应访问缓存的请求直接访问数据库,导致数据库压力突增。解决方法如下:
大量缓存同时失效:
发生雪崩的原因时大量缓存同时失效,那么解决方法之一就是不使缓存同时失效,也就是为缓存设置不同的过期时间。
使用……继续阅读 »
云天
8个月前 (09-15) 456浏览 0评论
1个赞
数据库中的脏读、幻读、不可重复读是什么?
数据库在运行过程中会出现一些问题,脏读、幻读、不可重复读是经典的几种情况。他们的概念如下:
脏读(针对未提交的数据):脏读是指一个事务读取到了另外一个事务未提交的数据。
不可重复读(针对数据的内容):不可重复读是指同一事务对于同一条数据前后读取不一致,例如,事务A开始执行,获取到数据值为100,在此期间事务B修改了数据值为80,在事务A再次获取该数据时,获取到的数据变成了8……继续阅读 »
云天
8个月前 (09-15) 527浏览 0评论
0个赞
Redis的内存淘汰机制
Redis是一种基于内存的键值对数据库,当Redis内存用量达到上限时,如果不清理,会导致Redis不能提供服务。
Redis内部提供了三种内存清理策略,用来处理此场景。
定时清理:即在Redis创建一个定时器,定时清理内存中失效的键。在进行定时清理时,如果一次性清理所有失效的键,会导致长时间的cpu占用,影响Redis工作效率,所以定时器清理时每次只会获取内存中的一部分键值对进行清理,但……继续阅读 »
云天
8个月前 (09-15) 529浏览 0评论
0个赞
Mysql事务的隔离级别
Mysql中提供了四种不同的隔离级别,可以有效控制脏读、幻读和不可重复读问题:
读未提交(Read Uncommitted):事务可以读取到其他事务未提交的数据,会出现脏读、不可重复读和幻读问题。
读已提交(Read committed):事务只能读取到其他事务已经提交的数据,避免出现脏读问题,但是可能会出现不可重复读和幻读问题。
可重复读(Repeatable Read):同一事务对同一……继续阅读 »
云天
8个月前 (09-15) 521浏览 0评论
0个赞
Redis是什么?
从最初开始学习数据库以来,我们就知道,数据库是用来存储和管理数据的,传统的数据库设计一般都会遵循以下几个规则,一是要将数据保存到磁盘中,二是要遵循数据库三大范式,三则是要尽量遵循事务的ACID原则。
但是,不知道从什么时候开始,Redis这个不墨守成规的家伙横空出世,它既不将数据存入磁盘,也不遵循事务的ACID原则,甚至不支持完整的SQL语言,是一个完完全全的“不听话的孩子”。但是,正是这个“不听……继续阅读 »
云天
8个月前 (09-12) 528浏览 0评论
0个赞
事务的ACID原则
首先说什么是事务,事务是数据库管理系统(DBMS)中的一个操作序列,这些操作必须作为一个不可分割的单元执行,要么全部执行成功,要么全部失败回滚。事务的ACID原则是保证事务正确性和数据一致性的重要手段。事务的ACID原则如下:
A(Atomicity):原子性,所有事务要么都执行,要么都不执行。
C(Consistency):一致性,一致性保证了事务的执行将数据库从一个状态转变到另外一个状态。
……继续阅读 »
云天
8个月前 (09-12) 491浏览 0评论
0个赞
数据库的三大范式是什么?
在传统的关系型数据库中,数据以表的形式存储在数据库中,对于数据库表的设计原则就称为数据库三大范式,数据库表设计的三大范式详细内容如下:
第一范式(1NF):规范化,数据库中的所有字段必须具有原子性,即不可拆分的最小单元。比如:常见的地址字段,就可以拆分为国家、省份、城市、区县、乡镇、村组等。单个的地址是不遵循第一范式的,但经常会发现这种设计
第二范式(2NF):消除部分依赖,在第一范式的基……继续阅读 »
云天
8个月前 (09-12) 486浏览 0评论
0个赞
Docker 安装 WordPress
post time:2024-09-07 19:13
版本说明:
Docker:Docker version 20.10.7, build f0df350
Wordpress:6.6.1
Mysql:8.2
1. docker 安装 mysql8.2
在安装wordpress之前,需要先安装mysql8.2,这里我们使用docker安装mysql8.2
# 拉取 mys……继续阅读 »
云天
8个月前 (09-07) 520浏览 0评论
3个赞