摘要: 分布式锁实现方式 分布式锁实现方式: 基于数据库 原子操作 如shedlock组件 基于redis 单点的setnx k v nx px , v需要为随机数,删除时使用lua脚本保证原子性,if v==线程设置的值 才 del 防止其他线程错误释放锁 redis redlock 多节点依次加锁,大多 阅读全文
posted @ 2022-06-06 16:46 rachel_aoao 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 三种策略 Cache Aside 只读缓存模式,即读操作命中缓存直接返回,未命中从后端数据库加载到缓存再返回。写操作直接更新数据库,并删除缓存。 👍一切以后端数据库为准,最常用的方式。 Read/Write Through 应用层读写只操作缓存,不关心数据库。操作缓存时,缓存层会自动从数据库加载或 阅读全文
posted @ 2022-06-06 16:12 rachel_aoao 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 策略分类 内存写满了怎么办?Redis提供了以下几种内存淘汰的策略: No eviction 不淘汰数据 即,内存写满后,再有写请求时,Redis直接返回错误,不会提供服务。这也是Redis3.0之后的默认淘汰策略。 淘汰数据 设置过期时间的数据中淘汰 💜 volatile-ttl :根据过期时间 阅读全文
posted @ 2022-06-06 15:33 rachel_aoao 阅读(132) 评论(0) 推荐(0) 编辑
摘要: # 小结 ![缓存穿透](https://img2022.cnblogs.com/blog/2753616/202205/2753616-20220531155806780-1947407113.png) # 布隆过滤器 工作原理: 布隆过滤器是一个由初值为0的长度为L的bit数组和N个哈希函数组成 阅读全文
posted @ 2022-05-31 16:04 rachel_aoao 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 扩容的思路 纵向扩展 scale up: 一台8G的变成一台24G的 :+1: 简单 :-1: 受硬件条件的限制 :-1: 单机容量大对性能的影响,如Redis的fork操作耗时是和内存数据量正相关的 横向扩展 scale out: 一台8G的变成3台8G的 :+1: 扩容灵活,不会增大单机的存储 阅读全文
posted @ 2022-05-31 11:06 rachel_aoao 阅读(110) 评论(0) 推荐(0) 编辑
摘要: > 数据库的发展总是从 单机 -> 主从 -> 分片集群 # Redis的主从复制 从单机到主从的根本优势在于: - 可实现读写分离,分摊读压力;某个从库用于做统计等后台功能 - 数据可靠,一份数据,多处拷贝,一台机器坏掉了,也不至于数据没了 - 服务可靠,主节点挂了不能写,可以从从节点选一个上来 阅读全文
posted @ 2022-05-30 20:19 rachel_aoao 阅读(73) 评论(0) 推荐(0) 编辑
摘要: # 持久化方式 因为Redis是内存操作,意味着掉电就GG, 所以为了保证异常重启等问题后能尽快恢复服务,还是需要一定的持久化机制来保证。Redis提供了两种持久化机制: - AOF Append Only File - RDS Redis Database ## AOF AOF文件记录的命令本身, 阅读全文
posted @ 2022-05-27 16:57 rachel_aoao 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 即便是单线程,Redis还是那么快? 一说到Redis的IO模型,就会说到Redis是“单线程”处理的。这里的单线程,主要是指网络IO和键值读写,也就是处理我们业务的基本请求是单线程的,但是Redis也存在一些如持久化,主从复制等是有多线程完成的。 网络IO Redis的网络IO采用的是多路复用机制 阅读全文
posted @ 2022-05-27 15:30 rachel_aoao 阅读(111) 评论(0) 推荐(0) 编辑
摘要: Redis key-value结构组织 首先,Redis使用了一个全局哈希表来保存所有的键值对。这个全局哈希表,也就是一个存放哈希桶(entry)的数组。Redis可以用哈希算法算出某个key的哈希值,直接取到这个数组这个位置的元素,也就是O(1)的读写。每个entry包含了两到三个部分,一个是*k 阅读全文
posted @ 2022-05-27 15:18 rachel_aoao 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 微服务设计模式 - circuit breaker circuit breaker 熔断器,在很多不同的领域都有这个定义,例如电路里面的熔断器,股票行业里面的熔断,当然我们这里的熔断指的是在计算机编程里面的,设计模式里的“熔断”。 简单的说,这就是一个状态机,然后状态机之间的转换逻辑;这个状态机有三 阅读全文
posted @ 2022-05-23 15:12 rachel_aoao 阅读(655) 评论(0) 推荐(0) 编辑