redis讲解

Redis字典

 

redis内存管理

  内存申请:本质调用了malloccallocmalloc一样)函数,加上了异常处理和内存统计。

       异常处理:内存申请失败后的处理函数---------------》可以自定义

       内存统计:更新总申请内存大小

  内存调整:调用了realloc()函数,加上了异常处理和内存统计。

  内存释放:调用了free()函数,加上了内存统计。

Redis慢查询日志(内存中)

Slowlog 用于记录最新 N 执行时间超过 M 毫秒的命令

数据结构:双链表,先进先出

Redis IO

   封装了对内存和文件的io操作。

redis持久化(两种持久化方式可以单独使用一种,也可以二者同时使用

  1.rdb

备份整个数据集。  数据完整性:文件尾部添加检验和(可以禁用)。

两种方式:

1.服务器进程执行备份

2.服务器进程fork一个子进程进行数据集的备份(只能有一个备份子进程)

2.aof

   备份改变数据库状态的命令。

  Aof重写-》根据数据库中的数据重写一个新的aof文件,每条记录有一个set语句,重写

完成后,用新的aof文件代替旧的aof文件。

Redis bio(后台io服务)

   1.关闭fd

   2.同步aof文件

  每种服务对应一个线程,每种任务对应一个链表,每次线程从对应链表中取出任务执行,如果链表为空,线程阻塞,当链表不为空时,对应线程被唤醒。


Redis数据结构:

   String字符串(key-value类型)


   Hash字典

   List   双向链表

   Set   数组+链表

   Sorted set有序集合   跳跃表


猜你喜欢

转载自blog.csdn.net/gaibian_one/article/details/77951626