Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

消息队列消息队列是一种中间件,用于在不同系统和组件之间通信,核心功能是解耦生产者和消费者支持【异步处理】、【服务解耦】、【削峰填谷】 异步处理消息队列的思想是:减少请求等待时间,让服务异步并发处理,提升总体性能。 当一个请求的请求链越来越长时,一个请求得到的响应时间就会越来越大,在大的电商系统中,严重影响用户体验,比如我要买一个冰箱,非得等我下单短信收到,会员注册成功,邮件发送成功后,手机界...

redis的数据结构> string先来看一下 Redis 的官方文档是怎么对 string 数据结构解释的:string 可以存储任何数据,包括二进制、文本、序列化等,限制是值不能超过512MB string的底层数据结构 底层数据结构主要是 SDS(简单动态字符串) 12345struct sdshdr{ int free; // buf[]数组未使用字节的数量 ...

提出问题在写前面两个博客的时候,都提到了redis的架构(单体、主从、集群分片),针对不同的架构分析了 Redis 的原子性、数据的一致性,显然架构越复杂,保障数据的一致性和和原子性就越复杂,那复杂架构可以解决单体架构和主从架构不能解决的什么问题?这让我想到在面试腾讯的时候,面试官问我的一个问题,Redis怎么解决热 Key 问题? 场景在高并发场景中,百万用户同时抢购一万张满减购物券,re...

背景在前面两篇博客中写到 Redis 实现原子性的两种方式:事务、LUA脚本。在学习 LUA 脚本时,对 LUA 脚本能否完全保证redis的原子性做了分析,得出结论: LUA脚本保证原子性取决于Redis的部署架构,在单体和主从架构中是可以保证原子性的,但是在集群的分片部署中却不一定,也给出了解决方案。 提出问题那么在主从架构和集群部署中,如何保证redis的消息不丢失?如何保证主从架构的...

上一篇博客说到了 redis 的事务机制,知道了 redis 的事务机制可以保证一组命令可以原子执行,但是不保证这组命令全部执行成功。redis 中也使用了 LUA 脚本保证原子性。 先来看一下 redis 官方对LUA脚本做的解释:LUA是一种脚本语言,通过EVAL命令执行LUA脚本,且LUA脚本具备原子性 执行脚本 EVAL EVAL 的语法 1EVAL script numkeys...

字节一面:了解Redis的事务吗?它的命令有哪些?它和MySQL的事务有什么区别?MySQL 事务mysql的事务主要要4个特点,也就是ACID,这是面试常问到的点 Atomicity(原子性):事务中的操作要么全部执行,要么全部不执行 Consistency(一致性):事务执行前后,数据库中数据在逻辑上都是正确的。常举的例子是,A给B转100块,执行前A的账户有a元,B的账户有b元,执行后...

背景最近在面试字节后端,面试官对 八股进行了深入的拷打,问了 Redis 的过期删除时间有什么机制,并延伸了当 redis 没有设置过期时间,且已知写redis知道redis写满,会发生什么?当时回答的是会启动换入换出操作,面试官好像不太满意。面试复盘实验一下,看看这种情况到底会发生什么。 Redis 安装(Linux环境)step1:下载指定redis的版本包 1wget https://...