作者就是码哥呀来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)Redis拥有高性能的数据读写功能,被我们广泛用在缓存场景,一是能提高业务系统的性能,二是为数据库抵挡了高并发的流量请求,点我解密Redis为什么这么快的秘密。把Redis作为缓存组件,需要防止出现以下的一些问题,否则可能会造成生产事故。Redis缓存满了怎么办?缓存穿透、缓存击穿、缓存雪崩如何解决?Redis数据过期了会被立马删除么?Redi...
2022-06-24 17:21:07 7728浏览 0点赞 0回复 0收藏
作者就是码哥呀来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)在《Redis数据缓存满了怎么办?》我们知道Redis缓存满了之后能通过淘汰策略删除数据腾出空间给新数据。淘汰策略如下所示:redis内存淘汰设置过期时间的keyvolatilettl、volatilerandom、volatilelru、volatilelfu这四种策略淘汰的数据范围是设置了过期时间的数据。所有的keyallkeyslru、allkeysrandom、allkeyslfu这三种淘汰策略无论这些键值...
2022-06-24 17:20:56 5045浏览 0点赞 0回复 0收藏
作者就是码哥呀来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)上回在《Redis数据过期了会被立马删除么》说到如果过期的数据太多,定时删除无法删除完全(每次删除完过期的key还是超过25%),同时这些key再也不会被客户端请求,就无法走惰性删除,内存被打满会怎样答案是走内存淘汰机制。故事从一个叫Redis帝国的三公九卿官职说起……在Redis帝国中,整个帝国的国法、家法和军法等都记录在redis.conf中,它...
2022-04-24 17:15:52 5783浏览 0点赞 0回复 0收藏
作者JavaStorm来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)mysql>selectfromTwhereID10;开门见山,当我们输入一条SQL语句的时候,MySQL内部究竟执行了什么直接上架构图,我们才能对其有一个概念,而不要陷入细节之中。架构架构概况大体上来说,MySQL可以分为Server层与存储引擎两个部分。Server层包括连接器、查询缓存、分析器、优化器、执行器。存储引擎负责数据的存储和读取,其架构模式是插件式的,...
2022-04-18 17:24:28 6567浏览 0点赞 0回复 0收藏
作者MageByte技术团队来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)背景这两年互联网行业掀着一股新风,总是听着各种高大上的新名词。大数据、人工智能、物联网、机器学习、商业智能、智能预警啊等等。以前的系统,做数据可视化,信息管理,流程控制。现在业务已经不仅仅满足于这种简单的管理和控制了。数据可视化分析,大数据信息挖掘,统计预测,建模仿真,智能控制成了各种业务的追求。“所有一切如...
2022-04-18 17:20:20 6871浏览 0点赞 0回复 0收藏
作者MageByte技术团队来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)摘要:了解Btree之外的存储引擎。LSM一个流行的高性能写的数据库实现方式。LogStructuredMergeTree,简称LSM。以Mysql、postgresql为代表的传统RDBMS都是基于btree的pageorented存储引擎。现代计算机的最大处理瓶颈在磁盘的读写上,数据存储无法绕开磁盘的读写,纯内存型数据库除外,但由于内存存储的不稳定性,我们一般只将内存型的存...
2022-04-18 17:12:14 6123浏览 0点赞 0回复 0收藏
作者MageByte技术团队来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)Mysql单表适合的最大数据量是多少我们说Mysql单表适合存储的最大数据量,自然不是说能够存储的最大数据量,如果是说能够存储的最大量,那么,如果你使用自增ID,最大就可以存储2^32或2^64条记录了,这是按自增ID的数据类型int或bigint来计算的;如果你不使用自增id,且没有id最大值的限制,如使用足够长度的随机字符串,那么能够限制单...
2022-04-18 17:06:53 5863浏览 0点赞 0回复 0收藏
作者MageByte技术团队来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)Druid的数据模型本文主要讨论对来自其他类型数据库系统的用户的提示,以及常规提示和通用做法。Druid数据存储在datasources,datasource类似于传统RDBMS中的table。Druid在向数据源摄取数据时,可以选择rollup,也可以不rollup。启用rollup功能后,Druid会在摄取期间部分聚合数据,从而有可能减少数据行数,减少存储空间并提高查询性能...
2022-04-18 16:44:43 4884浏览 0点赞 0回复 0收藏
作者知不足而行来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)数据库系统设计概述世界上只有两种开发人员,一种使用数据库系统的,一种开发数据库系统的。数据是系统最重要的信息。大部分系统都是对数据的管理。应用系统通过数据模型来构建现实世界,通过算法操作对象或数据结构,来改变数据模型的状态。数据被组织在操作系统文件中,我们通过数据系统来组织,查询,搜索,处理数据。本文将从数据库的发...
2022-04-18 16:40:53 6604浏览 0点赞 0回复 0收藏
作者MageByte技术团队来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)Kafka是一个优秀的分布式消息中间件,许多系统中都会使用到Kafka来做消息通信。对分布式消息系统的了解和使用几乎成为一个后台开发人员必备的技能。今天码哥字节就从常见的Kafka面试题入手,和大家聊聊Kafka的那些事儿。思维导图讲一讲分布式消息中间件问题什么是分布式消息中间件消息中间件的作用是什么消息中间件的使用场景是什么消...
2022-04-18 16:16:37 6198浏览 0点赞 0回复 0收藏
作者MageByte技术团队来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)学习一个技术,通常只接触了零散的技术点,没有在脑海里建立一个完整的知识框架和架构体系,没有系统观。这样会很吃力,而且会出现一看好像自己会,过后就忘记,一脸懵逼。跟着「码哥字节」一起吃透Redis,深层次的掌握Redis核心原理以及实战技巧。一起搭建一套完整的知识框架,学会全局观去整理整个知识体系。系统观其实是至关重要的...
2022-04-18 15:51:59 4562浏览 0点赞 0回复 0收藏
作者MageByte技术团队来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)我们通常将Redis作为缓存使用,提高读取响应性能,一旦Redis宕机,内存中的数据全部丢失,假如现在直接访问数据库大量流量打到MySQL可能会带来更加严重的问题。另外慢慢的从数据库读取放到Redis性能必然比不过从Redis获取快,也会导致响应变慢。Redis为了实现无畏宕机快速恢复,设计了两大杀手锏,分别是AOF(AppendOnlyFIle)日志和RDB...
2022-04-18 15:16:18 5825浏览 0点赞 0回复 0收藏
作者MageByte技术团队来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)在《Redis核心篇:唯快不破的秘密》中,「码哥」揭秘了Redis五大数据类型底层的数据结构、IO模型、线程模型、渐进式rehash掌握了Redis快的本质原因。接着,在《Redis日志篇:无畏宕机与快速恢复的杀手锏》中揭晓了当Redis发生宕机可以通过重新读取RDB快照和执行AOF日志实现快速恢复的高可用手段。高可用有两个含义:一是数据尽量不丢失...
2022-04-18 15:04:20 8173浏览 0点赞 0回复 0收藏
作者MageByte技术团队来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)『码哥』的Redis系列文章有一篇讲透了Redis的性能优化——《Redis核心篇:唯快不破的秘密》。深入地从IO、线程、数据结构、编码等方面剖析了Redis“快”的内部秘密。65哥深受启发,在学习Kafka的过程中,发现Kafka也是一个性能十分优秀的中间件,遂要求『码哥』讲一讲Kafka性能优化方面的知识,所以『码哥』决定将这篇性能方面的博文作...
2022-04-18 14:48:54 8358浏览 0点赞 0回复 0收藏
作者MageByte技术团队来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)概要我们知道「主从复制是高可用的基石」,从库宕机依然可以将请求发送给主库或者其他从库,但是Master宕机,只能响应读操作,写请求无法再执行。所以主从复制架构面临一个严峻问题,主库挂了,无法执行「写操作」,无法自动选择一个Slave切换为Master,也就是无法故障自动切换。深夜与女朋友么么哒……(此处省略10000字),突然宕机,...
2022-04-18 14:25:09 9446浏览 0点赞 0回复 0收藏
作者MageByte技术团队来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)这是[码哥]Kafka系列文章的第二篇,码哥将从原理、实践和源码角度为大家深入剖析并实践Kafka。此系列包括[原理篇]、[实践篇]和[源码篇]。这篇是[原理篇]的第二篇,主要讲解Kafka的架构和实现原理。读者可以回顾之前的文章《Kafka性能篇:为何Kafka这么"快"》。今天我们来深入讲解Kafka的架构和实现原理。[码哥]将从架构和细节入手,以...
2022-04-17 21:39:28 5922浏览 0点赞 0回复 0收藏
作者MageByt来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)大家好,我是「码哥」,码哥出品,必属精品。关注公众号「码哥字节」并加码哥微信(MageByte1024),窥探硬核文章背后的男人的另一面。本文将对集群的节点、槽指派、命令执行、重新分片、转向、故障转移、消息等各个方面进行深入拆解。Redis集群原理总览目的在于掌握什么是ClusterCluster分片原理,客户端定位数据原理、故障切换,选主,什么场景...
2022-04-17 21:28:03 7398浏览 0点赞 0回复 0收藏
作者MageByte技术团队来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)在移动应用的业务场景中,我们需要保存这样的信息:一个key关联了一个数据集合。常见的场景如下:给一个userId,判断用户登陆状态;显示用户某个月的签到次数和首次签到时间;两亿用户最近7天的签到情况,统计7天内连续签到的用户总数;通常情况下,我们面临的用户数量以及访问量都是巨大的,比如百万、千万级别的用户数量,或者千万级别...
2022-04-17 21:13:14 8884浏览 0点赞 0回复 0收藏
作者码哥字节来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)在移动应用的业务场景中,我们需要保存这样的信息:一个key关联了一个数据集合,同时还要对集合中的数据进行统计排序。常见的场景如下:给一个userId,判断用户登陆状态;两亿用户最近7天的签到情况,统计7天内连续签到的用户总数;统计每天的新增与第二天的留存用户数;统计网站的对访客(UniqueVisitor,UV)量最新评论列表根据播放量音乐榜单通常...
2022-04-17 21:05:11 8159浏览 0点赞 0回复 0收藏
作者码哥字节来源码哥字节(ID:MageByte)转载请联系授权(微信ID:MageByte1024)「码哥字节」从高频面试问题跟大家一起横扫Redis核心知识点,从根本上理解Redis,不做八股文的工具人,做扭转乾坤的大神。码哥到如今已经写了9篇Redis连载,后台有小伙伴也让我写一些关于面试的文章,于是“面霸”系列便出道了。Redis为什么这么快很多人只知道是KVNoSQl内存数据库,单线程……这都是没有全面理解Redis导致无法继续深问下去。这...
2022-04-17 20:39:40 6781浏览 0点赞 0回复 0收藏