51dev.com IT技术开发者社区

51dev.com 技术开发者社区

Redis深入学习笔记(六)Redis内存分配

Redis深入学习笔记(六)Redis内存分配

Redis的高效可以说是轻量级的epoll模型和基于内存的读写共同组成的,关于epoll对于以前的select或者poll的性能优势这里不做介绍,本篇主要介绍领一个重点,Redis的内存分配原理。获取内存信息命令:infomemoryused_memory:  Redis分配器分配的内存总量,就是内部存储的所有数据内存...

Redis深入学习笔记(五)Redis阻塞原因

Redis深入学习笔记(五)Redis阻塞原因

在实际使用Redis中,有时会碰到客户端timeout异常,或者没有可用连接异常等等异常,总结大概有如下原因: 内部阻塞原因:  1)大对象存取。  2)Fork阻塞。  3)Aof刷盘阻塞(距离上次刷盘大于2s时主线程会阻塞,直到当前刷盘完成)。  4)HugePage写操作阻塞(对于开启Transpare...

Redis深入学习笔记(四)主从数据复制流程

Redis深入学习笔记(四)主从数据复制流程

主从节点的数据复制是Redis高可用和高负载的重要基础,本篇介绍数据的主从复制流程。数据复制策略:  全量复制:一般用于初次复制场景,Redis早期支持的复制功能只有全量复制,它会把主节点全部数据一次性发送给从节点,当数据量较大时,会对主从节点和网络造成很大的开销。  部分复制(2.8开始支持):用于处理在主从复制中因...

Redis深入学习笔记(三)RDB及AOF流程

Redis深入学习笔记(三)RDB及AOF流程

RDB是Redis持久化数据的一种方式,是执行时间点的Redis内存快照,redis数据还原时加载rdb文件,Redis的主从数据同步也是基于RDB实现的。RDB流程: 1)执行bgsave命令,Redis父进程判断当前是否存在正在执行的子进程,如RDB/AOF子进程,如果存在bgsave命令直接返回。2)父...

Redis深入学习笔记(二)client list 命令详解

Redis深入学习笔记(二)client list 命令详解

Redis的clientlist命令可以获取当前连接到redisserver端的所有客户端以及相关状态,本篇主要介绍每一个参数的作用。clisntlist命令输出结果如下:(1)标识:id、addr、fd、name这四个属性属于客户端的标识:    id:客户端连接的唯一标识,这个id是随着Redis的连接自增的,重启...

Redis深入学习笔记(一)Redis启动数据加载流程

Redis深入学习笔记(一)Redis启动数据加载流程

这两年使用Redis从单节点到主备,从主备到一主多从,再到现在使用集群,碰到很多坑,所以决定深入学习下Redis工作原理并予以记录。本系列主要记录了Redis工作原理的一些要点,当然配置搭建和使用这类就不说了,这个系列主要侧重Redis工作流程和管理,分享出来希望可以帮助到正在学习的童鞋们。 Redis启动数...

10 个 Redis 建议/技巧

10 个 Redis 建议/技巧

Redis在当前的技术社区里是非常热门的。从来自Antirez一个小小的个人项目到成为内存数据存储行业的标准,Redis已经走过了很长的一段路。随之而来的一系列最佳实践,使得大多数人可以正确地使用Redis。下面我们将探索正确使用Redis的10个技巧。1、停止使用KEYS*Okay,以挑战这个命令开始这篇文章,或许并...