自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 Redis_淘汰策略

淘汰策略为什么要有这个机制?​ 当Redis的数据存储大于物理内存时,内存就会和磁盘产生频繁的交换(swap),涉及的磁盘操作、那就是慢!会导致Redis性能急剧下降;对于访问量巨大的Redis来说,一旦出现交换行为,那Redis相当于没起作用了;所以生产环境是不允许交换行为产生的!​ 因为要限制内存的使用!maxmemory参数,可以设置内容超出期望大小;当内容超过时,Redis就要启用淘汰策略,来腾出空间保证能够继续提供读写服务;淘汰策略有哪些?noeviction​ 不能继续进行写操作,只

2022-03-26 11:21:47 303

原创 Redis_数据分布算法:传统哈希-一致性哈希-哈希slot

数据分布算法传统hashhash:最简单的数据分布算法,对进来的key进行hash,然后对节点数据进行取模,就知道分布到哪个节点上了;缺点就是: 如果一个节点宕机,所有缓存的位置都要发生改变,当服务器数量发生改变时,所有缓存在一定时间内是失效的,会引起缓存的雪崩,可能会引起整体系统压力过大而崩溃(大量缓存同一时间失效)一致性hash实际上就是引入了一个圆环的概念, 让每个数据的hash分布到整个圆环,然后顺时针去找离他最近的节点存储;hash算法的取模法是对服务器的数量进行取

2022-03-24 20:46:31 1706

原创 Redis_入门基础知识

redis入门基础知识redis是啥?概述:Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库;一款高性能的nosql非关系型数据库(数据之间没有联系);关系型数据库与NoSQL数据库并非对立而是互补的关系,即通常情况下使用关系型数据库,在适合使用NoSQL的时候使用NoSQL数据库,让NoSQL数据库对关系型数据库的不足进行弥补。一般会将数据存储在关系型数据库中,在NoSql数据库中备份存储关系型数据库的数据.与关系型数据库的区别:数据存储在内存中,

2022-03-24 20:46:04 870

原创 Redis_集群方案:主从-哨兵-cluster

redis高可用集群方案公司redis集群方案是怎样的?一般三主三从就很好了;一共六台机器,三主三从,保证高可用,主节点挂了,从节点可以顶上来;机器的配置32G内存+8核心CPU,但是分配给redis是10G的内存;对外总共50G内存;redis主从复制简介:是典型的读写分离;主节点:可读可写; 从节点:可读,数据从主节点同步过来缺点:没有保证高可用:实际上只做到了读写分离,提高了性能而已,但是万一主节点挂掉,程序将无法写入数据。无法解决主节点写的压力;主从数据同步的核

2022-03-24 20:44:46 1283

原创 Redis_缓存与数据库双写一致性问题

缓存与数据库双写一致性问题你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题?先更新数据库,再更新缓存(×)按照业务流程,希望更新数据后,那么对应的缓存数据应该是最新的;但是实际上并发情况会造成,缓存的数据并不是最新的;图解:线程1更新数据库,然后去更新缓存;此时线程2进来了,并且1还没有更新好缓存;线程2同样也更新了数据库(在1之后,按道理他的数据才是最新的),并且在1之前更新好了缓存;此时1才完成,导致redis数据是

2022-03-24 20:44:12 671

原创 Redis_缓存所遇到的问题:雪崩、击穿、穿透

Redis缓存面临的问题缓存雪崩(用户正常访问)是指在某一个时间段,缓存集中过期,在这段集中失效的时间段内,所有的访问都落在了数据库上,那么数据库就会产生周期性的压力波峰。缓存穿透(入侵者利用漏洞攻击)解释:访问穿过redis这一层,将压力直接作用于数据库服务器;例子:访问数据库不可能存在的数据,那么redis也没有存值,再次访问还是没有值,必须再次访问数据库,造成压力;解决方案:查询数据库根本不存在的数据,也将此key和null存入缓存,设置过期时间(可能以后也会存在这种数

2022-03-24 20:43:35 543

原创 Redis_过期策略

过期策略定时扫描策略Redis会将设置了过期时间的key,单独放在一个字典里头,定时去遍历,如果过期了就删除;但是!采用的是贪心策略,并不会会遍历所有key,你想想,单线程的redis难道一直在这里遍历不成;所谓贪心比如:每次从过期字段拿到20个过期的,删除,然后下过期的是否还高于百分之25,如果高于,继续当前操作当前每次扫描有时间限制:25ms没删完就不处理先,不能让客户端等呀!等空闲了就继续当前操作所以我们也做好过期时间设置为随机数,不然统一时间到期,很消耗性能的;惰性删除定

2022-03-24 20:42:59 132

原创 Redis_持久化机制

Redis持久化机制概述:redis是一个内存数据库,当redis服务器重启,数据会丢失,所以我们可以将redis内存中的数据持久化保存到硬盘的文件中。一般都是两种结合使用;持久化的两种机制:RDB:默认方式,在每隔一段间隔时间中,检测key的变化情况,然后生成一份完整的RDB快照文件放到磁盘;RDB包含多个数据文件, 每个数据文件代表某一时刻的redis中的数据;AOF:日志记录的方式,可以记录每一条命令的操作。每一次命令操作后,持久化数据;RDB(Redis

2022-03-24 20:42:04 1136

原创 Redis_常见面试点总结

面试点总结主从关系的集群有哪些?主从的特点就是数据可靠,低可用;常见的zookeeper、redis的哨兵、主从复制;只有一个写入点,所以数据可靠,不会数据覆盖;即使加上哨兵,又有故障转移的时间,但是还是低可用;因为要主从同步,数据复制;去中心化集群部署有哪些?特点是数据不可靠,高可用;有erueka和redis cluster,因为有多个写入点,所以数据不可靠;因为去中心化所以高可用;是一种局部的主从,正常主节点工作,主节点挂掉,从节点升级为局部主节

2022-03-24 20:41:26 964

原创 Java基础_自动拆装箱你了解多少?

拆装箱 Java基础 基本数据类型 包装类型 常见面试题

2022-03-24 11:16:44 204

原创 Java基础_集合体系汇总、及常见的面试点

Java基础 集合体系 Hash底层原理 Hash扩容 ArrayList扩容

2022-03-23 22:47:44 808

原创 测试千万级别数据量、使用Explain解释器及索引类型分析

MySQL 索引类型 explain 千万级别数据量 SQL优化

2022-03-21 23:12:34 829

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除