
redis
redis梳理
a little funny
java开发,一个有意思的程序员。
展开
-
实现一个mini版的redis——myCache
应用场景小型应用(更轻量级)分布式系统中全局缓存支持分布式锁支持过期时间架构设计架构设计是期望客户端与服务端的调用方式的,因为服务端单独部署有以下三种好处不与应用jvm耦合,可用于分布式系统过期策略采用定期删除和惰性删除两种(如果服务端不单独部署就只能实现惰性删除,即get key时判断是否过期并进行是否删除操作)服务端单独部署支持持久化同时考虑到本身my-cache是用于小型服务的,也提供jar包方便本地调用,使用这种方式的唯一处好是我们提供了过期时间的功能。代码结构原创 2020-10-12 20:05:08 · 385 阅读 · 0 评论 -
redis分布式锁可靠吗
写在前面的话2020年2月22日来杭,杭州天气不错,晴空万里,气温回暖,疫情彷佛散去,而我开始了既定的跳槽,投简历,刷面试片刻未敢停留。一周下来也差不多面了10来家公司,反馈还行,但是并没有想象中的那么好,总体来看杭州互联网既没有那么好,也没有想象的那么槽。所以小伙伴们适度焦虑就OK,重要的还是提升自己的硬实力。下面来讲几个面试碰到的有意思的问题吧。如何确定分布式锁的...原创 2020-03-04 21:32:29 · 516 阅读 · 0 评论 -
redis集群
前言上篇文章梳理了redis的哨兵,截止到目前redis的原理已经梳理了四篇文章,键的过期策略、持久化、主从复制和redis哨兵,今天接着来梳理redis集群模式,之前我们谈到了主从复制是为了提高并发,哨兵模式是为了高可用,那么redis集群的意义是什么呢?这里我们先不谈redis集群的意义,我们来想象我们自己的业务系统的集群部署。如上图所示一个简单的集群部署方式,在单机无法满足我们并发需求...原创 2020-01-04 19:40:44 · 199 阅读 · 0 评论 -
redis哨兵
前言上一篇文章梳理了redis的主从复制,今天来继续梳理redis的另一个功能哨兵,如果说redis的主从复制是基于高并发的设计理念,那么sentinel(哨兵)则是基于高可用的,我们知道redis主从架构模式是为了实现读写分离,从而能够支持更高的并发,那么哨兵则为了保证redis的可用性的一个监控服务器,哨兵不支持redis服务器的类似数据库的功能,而是充当主从服务器的护卫的角色,在发现主从服...原创 2020-01-01 21:44:12 · 237 阅读 · 1 评论 -
redis主从复制
前言前两篇文章分别梳理了redis的键过期策略和redis的持久化技术,今天接着来梳理redis的相关知识,今天梳理的内容是主从复制。梳理之前,我们首先来思考一个问题,主从复制的意义在哪里?其实redis的主从和我们数据库的主从是一样的,我个人的理解主从的目的是读写分离,而读写分离的目的可以提高系统的TPS。无论对于mysql数据库还是redis来说,读的操作都会比写的操作多,而写的操作又常常会...原创 2019-12-26 20:28:32 · 248 阅读 · 0 评论 -
redis持久化
前言上一篇文章介绍了redis的过期策略,介绍完策略后,我们也提到了redis的持久化是如何处理过期键的,本文我们会关注redis的持久化技术。在介绍redis持久化技术前,我们先来思考一个问题,redis为何要实现持久化?我们知道redis大部分是用作缓存的技术的,但是其实redis其实还有很多是作为数据库功能的,比如电商里的最近一周浏览列表的展示,对于这些数据我觉得确实没有存在mysql数...原创 2019-12-22 20:54:58 · 178 阅读 · 0 评论 -
redis键过期键略
前言最近又开始看书了,最近在看关于redis的书,之前就提到了看书不梳理基本上看完之后只是开了个眼界,书中的知识留在脑海里的基本没有,所以后来再看书我就会梳理成文章记录下来,一方面可以分享出去,一方面可以作为自己的笔记。redis过期时间的实现用过redis的人都知道redis有key过期的功能,这个功能也是深受很多开发人员的青睐。那么你知道redis是如何实现这一功能的吗?其实redis为...原创 2019-12-21 20:21:22 · 215 阅读 · 0 评论