- 博客(12)
- 收藏
- 关注
原创 Redis_淘汰策略
淘汰策略为什么要有这个机制? 当Redis的数据存储大于物理内存时,内存就会和磁盘产生频繁的交换(swap),涉及的磁盘操作、那就是慢!会导致Redis性能急剧下降;对于访问量巨大的Redis来说,一旦出现交换行为,那Redis相当于没起作用了;所以生产环境是不允许交换行为产生的! 因为要限制内存的使用!maxmemory参数,可以设置内容超出期望大小;当内容超过时,Redis就要启用淘汰策略,来腾出空间保证能够继续提供读写服务;淘汰策略有哪些?noeviction 不能继续进行写操作,只
2022-03-26 11:21:47 319
原创 Redis_数据分布算法:传统哈希-一致性哈希-哈希slot
数据分布算法传统hashhash:最简单的数据分布算法,对进来的key进行hash,然后对节点数据进行取模,就知道分布到哪个节点上了;缺点就是: 如果一个节点宕机,所有缓存的位置都要发生改变,当服务器数量发生改变时,所有缓存在一定时间内是失效的,会引起缓存的雪崩,可能会引起整体系统压力过大而崩溃(大量缓存同一时间失效)一致性hash实际上就是引入了一个圆环的概念, 让每个数据的hash分布到整个圆环,然后顺时针去找离他最近的节点存储;hash算法的取模法是对服务器的数量进行取
2022-03-24 20:46:31 1729
原创 Redis_入门基础知识
redis入门基础知识redis是啥?概述:Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库;一款高性能的nosql非关系型数据库(数据之间没有联系);关系型数据库与NoSQL数据库并非对立而是互补的关系,即通常情况下使用关系型数据库,在适合使用NoSQL的时候使用NoSQL数据库,让NoSQL数据库对关系型数据库的不足进行弥补。一般会将数据存储在关系型数据库中,在NoSql数据库中备份存储关系型数据库的数据.与关系型数据库的区别:数据存储在内存中,
2022-03-24 20:46:04 886
原创 Redis_集群方案:主从-哨兵-cluster
redis高可用集群方案公司redis集群方案是怎样的?一般三主三从就很好了;一共六台机器,三主三从,保证高可用,主节点挂了,从节点可以顶上来;机器的配置32G内存+8核心CPU,但是分配给redis是10G的内存;对外总共50G内存;redis主从复制简介:是典型的读写分离;主节点:可读可写; 从节点:可读,数据从主节点同步过来缺点:没有保证高可用:实际上只做到了读写分离,提高了性能而已,但是万一主节点挂掉,程序将无法写入数据。无法解决主节点写的压力;主从数据同步的核
2022-03-24 20:44:46 1305
原创 Redis_缓存与数据库双写一致性问题
缓存与数据库双写一致性问题你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题?先更新数据库,再更新缓存(×)按照业务流程,希望更新数据后,那么对应的缓存数据应该是最新的;但是实际上并发情况会造成,缓存的数据并不是最新的;图解:线程1更新数据库,然后去更新缓存;此时线程2进来了,并且1还没有更新好缓存;线程2同样也更新了数据库(在1之后,按道理他的数据才是最新的),并且在1之前更新好了缓存;此时1才完成,导致redis数据是
2022-03-24 20:44:12 686
原创 Redis_缓存所遇到的问题:雪崩、击穿、穿透
Redis缓存面临的问题缓存雪崩(用户正常访问)是指在某一个时间段,缓存集中过期,在这段集中失效的时间段内,所有的访问都落在了数据库上,那么数据库就会产生周期性的压力波峰。缓存穿透(入侵者利用漏洞攻击)解释:访问穿过redis这一层,将压力直接作用于数据库服务器;例子:访问数据库不可能存在的数据,那么redis也没有存值,再次访问还是没有值,必须再次访问数据库,造成压力;解决方案:查询数据库根本不存在的数据,也将此key和null存入缓存,设置过期时间(可能以后也会存在这种数
2022-03-24 20:43:35 556
原创 Redis_过期策略
过期策略定时扫描策略Redis会将设置了过期时间的key,单独放在一个字典里头,定时去遍历,如果过期了就删除;但是!采用的是贪心策略,并不会会遍历所有key,你想想,单线程的redis难道一直在这里遍历不成;所谓贪心比如:每次从过期字段拿到20个过期的,删除,然后下过期的是否还高于百分之25,如果高于,继续当前操作当前每次扫描有时间限制:25ms没删完就不处理先,不能让客户端等呀!等空闲了就继续当前操作所以我们也做好过期时间设置为随机数,不然统一时间到期,很消耗性能的;惰性删除定
2022-03-24 20:42:59 146
原创 Redis_持久化机制
Redis持久化机制概述:redis是一个内存数据库,当redis服务器重启,数据会丢失,所以我们可以将redis内存中的数据持久化保存到硬盘的文件中。一般都是两种结合使用;持久化的两种机制:RDB:默认方式,在每隔一段间隔时间中,检测key的变化情况,然后生成一份完整的RDB快照文件放到磁盘;RDB包含多个数据文件, 每个数据文件代表某一时刻的redis中的数据;AOF:日志记录的方式,可以记录每一条命令的操作。每一次命令操作后,持久化数据;RDB(Redis
2022-03-24 20:42:04 1151
原创 Redis_常见面试点总结
面试点总结主从关系的集群有哪些?主从的特点就是数据可靠,低可用;常见的zookeeper、redis的哨兵、主从复制;只有一个写入点,所以数据可靠,不会数据覆盖;即使加上哨兵,又有故障转移的时间,但是还是低可用;因为要主从同步,数据复制;去中心化集群部署有哪些?特点是数据不可靠,高可用;有erueka和redis cluster,因为有多个写入点,所以数据不可靠;因为去中心化所以高可用;是一种局部的主从,正常主节点工作,主节点挂掉,从节点升级为局部主节
2022-03-24 20:41:26 977
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人