Redis读写分离技术解析
背景Redis不管主从版还是集群规格,replica作为备库不对外提供服务,只有在发生HA的时候,replica提升为master后才承担读写流量。这种架构读写请求都在master上完成,一致性较高,但性能受到master数量的限制。经常有用户数据较少,但因为流量或者并发太高而不得不升级到更大的集群
给你一个亿的keys,Redis如何统计?
前言不知你大规模的用过Redis吗?还是仅仅作为缓存的工具了?在Redis中使用最多的就是集合了,举个例子,如下场景:签到系统中,一天对应一系列的用户签到记录。电商系统中,一个商品对应一系列的评论。交友系统中,某个用户的一系列的好友。Redis中集合的特点无非是一个Key对应一系列的数据,但是数据的
Redis 实战篇:巧用 Bitmap 实现亿级海量数据统计
大家好,我是捡田螺的小男孩。在移动应用的业务场景中,我们需要保存这样的信息:一个key关联了一个数据集合。常见的场景如下:给一个userId,判断用户登陆状态;显示用户某个月的签到次数和首次签到时间;两亿用户最近7天的签到情况,统计7天内连续签到的用户总数;通常情况下,我们面临的用户数量以及访问量都
一线互联网公司 Redis 使用精髓,你必须要掌握这4点!
先来看一下这些Redis面试题你会几道?1、什么是Redis?简述它的优缺点?2、Redis与memcached相比有哪些优势?3、Redis支持哪几种数据类型?4、Redis主要消耗什么物理资源?5、Redis有哪几种数据淘汰策略?6、
对不起,网上找的 Redis 分布式锁都有漏洞!
基于Redis的分布式锁对大家来说并不陌生,可是你的分布式锁有失败的时候吗?在失败的时候可曾怀疑过你在用的分布式锁真的靠谱吗?以下是结合自己的踩坑经验总结的一些经验之谈。你真的需要分布式锁吗?用到分布式锁说明遇到了多个进程共同访问同一个资源的问题。一般是在两个场景
Redis最佳实践:7个维度+43条使用规范,带你彻底玩转Redis
大家好,我是Kaito。这篇文章我想和你聊一聊Redis的最佳实践。你的项目或许已经使用Redis很长时间了,但在使用过程中,你可能还会或多或少地遇到以下问题:我的Redis内存为什么增长这么快?为什么我的Redis操作延迟变大了?如何降低Redis故障发生的频率?日常运维Redis需要注意什么?部
用 Redis 搞定游戏中的实时排行榜,附源码!
前言前段时间刚为项目(手游)实现了一个实时排行榜功能,主要特性:实时全服排名可查询单个玩家排名支持双维排序数据量不大,大致在1W~
拒绝躺平,Redis 选择实现了自己的 VM
Redis源码中有很多优秀的实践,值得我们学习。它作为开源作品之一,汇聚了众多开源智慧,深受广大程序员喜爱。它的优秀还导致了不少人都喜欢研究它,面试官也喜欢提问面试者,也使整个行业进入了更深的内卷。我相信多数人还是拒绝选择躺平的,今天我们一起
来,带你使用 Redis 搭建电商秒杀系统
秒杀活动是绝大部分电商选择的低价促销、推广品牌的方式。不仅可以给平台带来用户量,还可以提高平台知名度。一个好的秒杀系统,可以提高平台系统
万字长文的Redis五种数据结构详解(理论+实战),建议收藏。
本文脑图前言Redis是基于c语言编写的开源非关系型内存数据库,可以用作数据库、缓存、消息中间件,这么优秀的东西一定要一点一点的吃透它。这是关于Redis的第三篇文章,主要讲解Redis的五种数据结构详解,包括这五种的数据结构的底层原理实现。理论肯定是要用于实践的,因此最重要的还是实战部分,也就是这
图解|深入理解跳表及其在Redis中的应用
跳跃链表及其应用是非常热门的问题,深入了解其中奥秘大有裨益,不吹了,快开始品尝这美味的知识吧!跳跃链表的基本概念初识跳表跳跃列表是一种数据结构。它允许快速查询一个有序连续元素的数据链表。跳跃列表的平均查找和插入时间复杂度都是O(logn),优于普通队列的O(n)。跳跃列表由威廉·普发明,发明者对跳跃
Redis缓存高频难题一问三不知,你的亿级系统不会炸吗?
背景缓存设计可谓老生常谈了,早些时候都是采用memcache,现在大家更多倾向使用redis,除了知晓常用的数据存储类型,结合业务场景有针对性选择,好像其他也没有什么大的难点。工程中引入RedisClient二方包,初始化一个Bean实例RedisTemplate,一切搞定,soeasy。如果是几十
老生常谈的 Redis 雪崩、击穿、穿透、预热、降级一次全安排
关于Redis的介绍、特点什么的就不再这里赘述了,不然又要水千把字。今天我们就重点看企业中在使用Redis常见一些问题以及对应解决方案。某个请求到达业务系统,想要获取某个数据,
使用 Redis 实现一个轻量级的搜索引擎,厉害啊 !
场景大家如果是做后端开发的,想必都实现过列表查询的接口,当然有的查询条件很简单,一条SQL就搞定了,但有的查询条件极其复杂,再加上库表中设计的各种不合理,导
维护开源项目太难了,Redis 之父:只做自己想做的
开源正在吞噬世界,但开源维护者却都身处水深火热之中。最近,开源项目Docz作者Pedro发表短文称繁重的开源维护工作不可持续,自己曾处于“崩溃”状态。Pedro表示最初为了开发Docz,他可以提前3小时起床,推迟3小时睡觉,全力以赴地创建这个项目的经历让他“感觉很棒”。但随着项目的发展,
京东:跨数据中心双向同步之路,差点栽在Redis手上……
一、背景公司基于业务发展以及战略部署,需要实现在多个数据中心单元化部署,一方面可以实现多数据中心容灾,另外可以提升用户请求访问速度。需要保证多数据中心容灾或者实现用户就近访问的话,需要各个数据中心拥有一致的全量数据,如果真正实现用户就近读写,也就是实现真正的业务异地多活,数据同步是异地多活的基础,这
周末撸了一个简版的 Redis,轻松搞定高性能的 key-value 服务
今天主要介绍两个开源项目,然后创建应用最终实现的效果就像简版的redis服务那样,通过http的get请求,能够插入和获取数据,项目暂取名为kedis,源码后面会上传到git仓库。他们分别是Facebook开源的Rocksdb和netty
一文理解 Redis 的核心原理与技术
一、Redis基础数据结构1.StringRedis里的字符串是动态字符串,会根据实际情况动态调整。类似于Go里面的切片-slice,如果长度不够则自动扩容。至于如何扩容,方法大致如下:当length小于1M的时候,扩容规则将目前的字符串翻倍;如果length大于1M的话,则每次只会扩容1M,直到达
美团二面:Redis与MySQL双写一致性如何保证?
前言四月份的时候,有位好朋友去美团面试。他说,被问到Redis与MySQL双写一致性如何保证?这道题其实就是在问缓存和数据库在双写场景下,一致性是如何保证的?本文将跟大家一起来探讨如何回答这个问题。公众号:捡田螺的小男孩谈谈一致性一致性就是数据保持一致,在分布式系统中,可以理解为多个节点中数据的值是
16张图带你吃透高性能 Redis 集群,运维速看~
大家好,我是Kaito。这篇文章我想和你聊一聊Redis的架构演化之路。现如今Redis变得越来越流行,几乎在很多项目中都要被用到,不知道你在使用Redis时,有没有思考过,Redis到底是如何稳定、高性能地提供服务的?你也可以尝试回答一下以下这些问题:我使用Redis的场景很简单,只使用单机版Re