Redis是目前后端开发中非常热门的组件之一,本篇文章主要介绍它在作为缓存以及分布式领域的作用。
Redis作为缓存
1.什么是缓存?
缓存 (cache) 是计算机中的⼀个经典的概念....使⽤ Redis 作为 MySQL 的缓存的时候, 当 Redis 刚刚启动, 或者 Redis ⼤批 key 失效之后, 此时由于Redis ⾃⾝相当于是空着的, 没啥缓存数据, 那么 MySQL 就可能直接被访问到...例如访问数据库的时候使⽤分布式锁, 限制同时请求数据库的并发数.
Redis作为分布式锁
1.什么是分布式锁?
在⼀个分布式的系统中, 也会涉及到多个节点访问同⼀个公共资源的情况....2.分布式锁的实现过程
1.首先我们可以使用Redis的键值对功能进行简单的加锁功能。
如果服务器1 尝试买票操作, 就需要先访问 Redis, 在 Redis 上设置⼀个键值对....Redlock 算法的核⼼就是, 加锁操作不能只写给⼀个 Redis 节点, ⽽要写个多个!! 分布式系统中任何⼀个节点都是不可靠的. 最终的加锁成功结论是 "少数服从多数的"。