![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
文章平均质量分 63
JD_Magi
这个作者很懒,什么都没留下…
展开
-
面试—Redis(缓存穿透与缓存雪崩)
面试—Redis(缓存穿透与缓存雪崩)缓存穿透什么是缓存穿透大量请求的 key 根本不存在于缓存中,导致请求直接到了数据库上,根本没有经过缓存这一层如何解决缓存无效key如果缓存和数据库都查不到某个 key 的数据就写一个到 Redis 中去并设置过期时间缺点:导致大量无效key生成布隆过滤器布隆过滤器是一个非常神奇的数据结构,通过它我们可以非常方便地判断一个给定数据是否存在于海量数据中(小概率误判)缓存雪崩什么是缓存雪崩缓存在同一时间大面积的失效,后面的请求都直接落到了原创 2021-07-13 10:09:58 · 90 阅读 · 0 评论 -
面试—Redis(持久化机制)
Redis持久化概述Redis是一个内存型数据库,数据是保存在内存中的,因为内存是一个断电即失的硬件,所以导致数据容易发生丢失。所以Redis提供了一个持久化机制来应对该问题持久化的方式RDB(默认开启)Redis 通过创建快照来获得存储在内存里面的数据在某个时间点上的副本。Redis 创建快照之后,可以对快照进行备份,可以将快照复制到其他服务器从而创建具有相同数据的服务器副本(Redis 主从结构,主要用来提高 Redis 性能),还可以将快照留在原地以便重启服务器的时候使用。启用方式修改配原创 2021-07-13 09:52:47 · 188 阅读 · 0 评论 -
面试—Redis(事务)
Redis事务是什么Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。如何使用Redis 可以通过 MULTI,EXEC,DISCARD 和 WATCH 等命令来实现事务(transaction)功能MULTI:开启事务EXEC:执行事务DISCARD:取消事务WATCH:监听某个key,当调用 EXEC 命令执行事务时,如果一个被 WATC原创 2021-07-13 08:54:35 · 117 阅读 · 0 评论 -
面试—Redis(缓存过期时间)
Redis缓存过期时间是什么给缓存的数据设置一个有效期,当这个数据过了有效期就失效有什么用Redis是一个内存型数据库,而内存是有限的,给缓存数据设置一个过期时间可以减少内存的消耗可以应对特定的业务场景,如短信验证码、token等底层数据结构Redis是通过一个叫过期字典的数据结构来保存数据的过期时间的typedef struct redisDb { ... dict *dict; //数据库键空间,保存着数据库中所有键值对 dict *expir原创 2021-07-13 08:35:43 · 658 阅读 · 0 评论 -
面试—Redis(基础知识)
面试—Redis(基础知识)概述Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LR原创 2021-07-08 15:26:11 · 108 阅读 · 0 评论 -
面试—MySQL(数据库优化)
面试—MySQL(数据库优化)由该图可知数据结构和SQL语句和索引去优化数据库效果是最好的,所以可以从以下几个方面去优化数据库数据库设计根据数据库三范式来进行表结构的设计尽量使用 TINYINT、SMALLINT、MEDIUM_INT 作为整数类型而非 INT,如果非负则加上 UNSIGNEDVARCHAR 的长度只分配真正需要的空间尽量使用整数代替字符串类型单表不要有太多字段,建议在 20 以内避免使用 NULL 字段,很难查询优化且占用额外索引空间不建议使用 select * fr原创 2021-07-08 14:50:13 · 180 阅读 · 0 评论 -
面试—MySQL(索引)
面试—MySQL(索引)基本概念索引在MySQL中也叫是一种“键”,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。索引的优缺点优点:保证数据库表中每一行数据的唯一性可以大大加快数据的检索速度可以加速表和表之间的连接在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。缺点:创建索引和维护索引要耗费时间索引需要占物原创 2021-07-08 10:12:49 · 77 阅读 · 0 评论 -
面试—MySQL(锁和事务)
面试—MySQL(锁和事务)MySQL锁基本概念锁(LOCKING)是最常用的并发控制机构。是防止其他事务访问指定的资源控制、实现并发控制的一种主要手段。锁是事务对某个数据库中的资源(如表和记 录)存取前,先向系统提出请求,封锁该资源,事务获得锁后,即取得对数据的控制权,在事务释放它的锁前,其他事务不能更新此数据。当事务撤消后,释放被锁定的资源。当一个用户锁住数据库中的某个对象时,其他用户就不能再访问该对象锁的分类按锁的范围划分表锁:开销小,加锁快,不会出现死锁,锁定粒度大,发生锁冲突的概率原创 2021-07-08 09:29:16 · 106 阅读 · 0 评论 -
面试—MySQL(基础知识)
面试—MySQL(基础知识)基础知识超键、候选键、主键、外键超键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。候选键:最小超键,在元组中找不到其真子集,即不含多余的超键主键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值外键:在一个表中存在的另一个表的主键称此表的外键存储过程和函数什么是存储过程?一组为了完成特定功能原创 2021-07-07 16:43:39 · 138 阅读 · 0 评论