上一页 1 ··· 3 4 5 6 7 8 9 下一页
摘要: 一. 悲观锁、乐观锁 1、悲观锁认为共享资源并发操作一定会出现问题,使用synchronized关键字或者lock接口特性加锁; 2、乐观锁认为不加锁给并发操作带来性能提升,常采用CAS(Compare比较 And Swap交换)自旋锁;典例就是并发原子类,通过CAS自旋来更新值 二. 公平锁、非公 阅读全文
posted @ 2021-07-16 21:56 Sherlock先生 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 一.什么是锁 数据库的锁是为了对共享资源进行并发访问,提供数据的完整性和一致性,这样才能保证在高并发场景下,访问数据库时,数据不会出现问题. 二.锁机制 1.按锁的粒度划分:行级锁、表级锁、页级锁、间隙锁 MyISAM和MEMORY采用表级锁(table-level locking) InnoDB支 阅读全文
posted @ 2021-07-16 14:29 Sherlock先生 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 1.什么是索引 索引就相当于目录。为了方便查找书中的内容,通过对内容建立索引形成目录。索引是一个文件,它是要占据物理空间的。 2.索引的优缺点 索引的优点: 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性 可以大大加快数据的检索速度,这也是创建索引的最主要的原因 可以加速表和表之间的连接 阅读全文
posted @ 2021-07-14 23:24 Sherlock先生 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 1.Redis实现简单队列(先进先出) 主要是利用list特性: lpush,rpush操作入队列,,,,, lpop,rpop操作出队列,,,, 但是当队列为空时,lpop和rpop会一直空轮训,消耗资源; 所以引入阻塞读blpop和brpop(b代表blocking),阻塞读在队列没有数据的时候 阅读全文
posted @ 2021-07-14 18:13 Sherlock先生 阅读(723) 评论(0) 推荐(0) 编辑
摘要: Redis缓存处理流程: 前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。 1.缓存穿透 指的是大量请求都在查询一个不存在key,,导致所有请求最终都落在数据库上,,造成数据库压力巨大 解决: 1)针对不存在的 阅读全文
posted @ 2021-07-14 18:06 Sherlock先生 阅读(49) 评论(0) 推荐(0) 编辑
摘要: Redis持久化机制: RDB快照 AOF日志 一. RDB快照 1.概念 RDB是把当前进程数据生成快照保存到硬盘的过程(以二进制方式写入磁盘) 2.触发机制: 手动和自动 【1】手动触发分别对应save和bgsave命令 ·save命令:阻塞当前Redis服务器,直到RDB过程完成为止,对于内存 阅读全文
posted @ 2021-07-14 17:55 Sherlock先生 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 一.Redis过期策略 1. 设置过期命令 expire设置生存时间 expireat设置过期时间点(时间戳) 2. key的3种过期策略 (1)定时删除:在设置过期时间的同时,设置一个定时器,定时器的执行时间就是过期的时间点。 优点:对内存最友好,过期的键会以最快的被删除,释放内存。 缺点:对CP 阅读全文
posted @ 2021-07-14 17:35 Sherlock先生 阅读(557) 评论(0) 推荐(0) 编辑
摘要: 1. redis事务概念: 可以一次执行多个命令,本质是一组命令的集合。 一个事务中的所有命令都会序列化,按顺序串行化执行而不会被其它命令插入,一次性、顺序性、排他性的执行一系列命令。 2. 5个常用命令: 【1】MULTI: 标记一个事务块的开始 【2】EXEC: 执行事务块中所有的命令 【3】D 阅读全文
posted @ 2021-07-14 17:25 Sherlock先生 阅读(44) 评论(0) 推荐(1) 编辑
摘要: redis是一个基于键值对的NoSQL数据库 redis的数据类型: 键的类型只能为字符串 值的类型有5种: 字符串String 哈希hash 列表list 集合set 有序集合zset redis为什么快? 1)redis使用了单线程架构和I/O多路复用模型 2)纯内存访问 3)单线程避免了线程上 阅读全文
posted @ 2021-07-14 17:17 Sherlock先生 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 一.什么是MySQL事务? start transaction 要执行的sql语句 commit 一个事务包含多个sql语句,事务保证这些sql语句要么都执行成功,要不都失败 二.事务四大特性 A - 原子性 C - 一致性 I - 隔离性 D - 持久性 三.事务特性的底层实现原理 1.原子性:  阅读全文
posted @ 2021-07-13 22:27 Sherlock先生 阅读(122) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 下一页