美文网首页
Redis单机数据库的实现

Redis单机数据库的实现

作者: 蓝色猫猫 | 来源:发表于2022-07-18 18:48 被阅读0次

数据库

redis默认会创建16个数据库;
删除过期键有三种策略:

  • 定时删除:对某个键设置过期时间,时间一到就删除键;
  • 惰性删除:查询的时候,判断是否过期,没过期返回,过期就删除;
  • 定期删除:隔一段时间对数据库里的所有过期数据进行清除;

持久化

RDB

  • 将某个时间点的所有数据都存放到硬盘上。
  • 可以将快照复制到其它服务器从而创建具有相同数据h 的服务器副本。
  • 如果系统发生故障,将会丢失最后一次创建快照之后的数据。
  • 如果数据量很大,保存快照的时间会很长。

AOF

将写命令添加到 AOF 文件(Append Only File)的末尾。
使用 AOF 持久化需要设置同步选项,从而确保写命令同步到磁盘文件上的时机。这是因为对文件进行写入并不会马上将内容同步到磁盘上,而是先存储到缓冲区,然后由操作系统决定什么时候同步到磁盘。有以下同步选项:

选项 同步频率
always 每个写命令都同步
everysec 每秒同步一次
no 让操作系统来决定何时同步
  • always 选项会严重减低服务器的性能;
  • everysec 选项比较合适,可以保证系统崩溃时只会丢失一秒左右的数据,并且 Redis 每秒执行一次同步对服务器性能几乎没有任何影响;
  • no 选项并不能给服务器性能带来多大的提升,而且也会增加系统崩溃时数据丢失的数量。
    随着服务器写请求的增多,AOF 文件会越来越大。Redis 提供了一种将 AOF 重写的特性,能够去除 AOF 文件中的冗余写命令。

相关文章

网友评论

      本文标题:Redis单机数据库的实现

      本文链接:https://www.haomeiwen.com/subject/zlydirtx.html