![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式缓存
放羊的大飞
这个作者很懒,什么都没留下…
展开
-
Redis的高可用
Redis实现高可用的方式 主要方式:redis主从复制、哨兵机制、持久化机制、keepalived等 一、Redis主从复制 1、主从结构的作用:数据备份;读写分离,提升读性能(耗时读操作由从服务器来做);实现高可用,提高容错。 2、redis只有一个master,有多个slave。主服务器主要进行写操作,从一般设置为只读,并接收主同步过来的数据。 3、可以考...原创 2020-05-06 01:35:43 · 227 阅读 · 0 评论 -
Redis和ZK实现分布式锁
一、Redis实现分布式锁 1、使用Redis分布式锁的原因:Redis性能好;命令支持比较好,实现方便。 2、实现方式:直接用int setnx写key,如果成功了,说明获取锁成功,否则拿锁失败。拿锁成功之后对key设置超时时间,操作完成时可通过del key释放锁。 二、Zookeeper实现分布式锁 1、通过创建zk的znode节点进行控制。检查zookeepe...原创 2020-05-05 02:34:44 · 261 阅读 · 0 评论 -
Redis和memcached的区别
一、Redis介绍 1、强一致性:任何时刻所有用户查询到的都是最新的数据。(关系型数据库的更新操作) 最终一致性:某一时刻不同用户或进程查到的数据可能不同,但是最终更新成功的数据都能查到。(主流NoSQL是这种) NoSQL:基于内存的数据库,提供一定的持久化功能。Redis和MongoDB就是NoSQL。 2、Redis性能优...原创 2020-05-05 01:59:40 · 1289 阅读 · 0 评论 -
Redis的过期策略和内存淘汰机制
一、Redis的过期策略和内存淘汰机制 1、内存过期策略 1. 对redis中的key设置了过期时间,执行的过期策略是:定期删除+惰性删除 定期删除:每100ms随机抽取一批数据进行检查,如果符合过期时间则删除key。(如果检查所有key那直接卡死了) 惰性删除:获取key的时候检查key是否过期。 2. 为什么不用定时删除:对每个ke...原创 2020-04-27 22:44:18 · 120 阅读 · 0 评论 -
Redis的持久化
一、复制技术 1. 快照snapshot:保存待备份文件某一时刻的状态,出问题可以回滚。便捷,但是实时性不高。 2.写时复制Copy-on-Write:复制一个对象不是开新内存多放一份,而是在新对象的内存映射表中指向原对象的位置;修改时先复制到新位置,修改内存映射,进行写入操作。 优点:复制时节省内存空间,读操作不会复制。 缺:大文件修改时要复制一遍或者比较上个版本,比较费时...原创 2020-04-27 22:21:46 · 121 阅读 · 0 评论 -
Redis的数据类型及使用场景
一、Redis的数据结构 存储的时候key和value都是String,value支持String、hash、list、set、zset等数据结构。 1.String 结构:key-value 常用方法:set、setex、setnx(setIfNotExist)、get、incr/decr 使用场景:存task、分布式锁、存int值做...原创 2020-04-23 00:10:47 · 168 阅读 · 0 评论 -
缓存和缓存淘汰算法
一、内存、缓存、寄存器 1. CPU <===> 寄存器 <===> 缓存 <===> 内存 寄存器:cpu中的一部分,cpu直接拿寄存器中的数据,包含:指令寄存器、程序计数器。寄存器从缓存或者内存中获取数据。 缓存:直接从内存拿数据速度很慢,缓存是数据的一种中转方式。 一级缓存:内置在cpu...原创 2020-04-17 00:11:14 · 415 阅读 · 1 评论