个人简介

Echo Blog


江湖无名 安心练剑
  • Redis Learn-09-文件事件
    文件事件 Redis 基于 Reactor 模式开发了自己的网络事件处理器: 这个处理器被称为文件事件处理器(file event handler): 文件事件处理器使用 I/O 多路复用(multiplexing)程序来同时监听多个套接字, 并根据套接字目前执行的任务来为套接字关联不同的事件处理器。 当被监听的套接字准备好执行连接应答(accept)、读取(read)、写入(writ...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-09-00-事件
    概述 redis 内部有一个小型的事件驱动,它和 libevent 网络库的事件驱动一样,都是依托 I/O 多路复用技术支撑起来的。 利用 I/O 多路复用技术,监听感兴趣的文件 I/O 事件,例如读事件,写事件等,同时也要维护一个以文件描述符为主键,数据为某个预设函数的事件表,这里其实就是一个数组或者链表。 当事件触发时,比如某个文件描述符可读,系统会返回文件描述符值,用这个值在事件...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-08-持久化相关的性能问题
    fork操作 当Redis做RDB或AOF重写时,一个必不可少的操作就是执行fork操作创建子进程,对于大多数操作系统来说fork是个重量级错误。 虽然fork创建的子进程不需要拷贝父进程的物理内存空间,但是会复制父进程的空间内存页表。 例如对于10GB的Redis进程,需要复制大约20MB的内存页表,因此fork操作耗时跟进程总内存量息息相关,如果使用虚拟化技术,特别是Xen虚拟 机...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-08-mixed 混合模式持久化
    持久化的必要性 我们都知道 Redis 的数据全部在内存里,如果突然宕机,数据就会全部丢失,因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失,这种机制就是 Redis 的持久化机制。 Redis 的持久化机制有两种,第一种是快照,第二种是 AOF 日志。 快照是一次全量备份,AOF 日志是连续的增量备份。 快照是内存数据的二进制序列化形式,在存储上非常紧凑,而 AOF ...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-08-Redis 延迟分析实战
    分析的方向 内在原因 不合理地使用API或数据结构、CPU饱和、持久化阻塞 外在原因 CPU竞争、内存交换、网络问题等。 内在原因 不合理地使用API或数据结构 可能会有一些很慢的操作。 比如 O(n) 的操作。 cpu 饱和 $ top 查看内存等占用信息 持久化阻塞 aof rdb 的 fork 持久化。 慢操作 info commandstats 可...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-08-AOF 持久化
    AOF RDB持久化是将进程数据写入文件,而AOF持久化(即Append Only File持久化),则是将Redis执行的每次写命令记录到单独的日志文件中(有点像MySQL的binlog);当Redis重启时再次执行AOF文件中的命令来恢复数据。 与RDB相比,AOF的实时性更好,因此已成为主流的持久化方案。 AOF 持久化的实现 AOF 持久化功能的实现可以分为命令追加(appe...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-07-RDB 持久化
    REDIS数据存储模式 Redis中数据存储模式有2种:cache-only,persistence; cache-only cache-only即只做为“缓存”服务,不持久数据,数据在服务终止后将消失,此模式下也将不存在“数据恢复”的手段,是一种安全性低/效率高/容易扩展的方式; persistence persistence 即为内存中的数据持久备份到磁盘文件,在服务重启后可以...
    2018-12-12 03:35:23 | Redis
  • Redis Learn-06-db
    db 概念 redis 默认有 16 个 db,编号为 0-15 各个 db 之间的操作是互不影响的。 配置 当然也可以自行设置总数: redis 配置文件中下面的参数来控制数据库总数: /etc/redis/redis.conf 文件中,有个配置项 databases = 16 切换 默认情况下,一个客户端连接到数据库0。 > select 0 实例大...
    2018-12-12 03:35:23 | Redis