跳到主要内容

Redis 简介

Redis 是使用 ANSI C 语言编写的开源的、支持网络、基于内存(也可持久化)的日志型 Key-Value 数据库。

基于内存的设计使得 Redis 的性能远远高于其他不使用内存的 NoSQL 数据库,当然 Redis 对硬件的要求也更高、价格更贵。

Redis 采用常驻内存的方式,以内存作为存储数据的位置。也就是说,数据的读写不会涉及存储设备(硬盘)的 I/O 过程,因此其处理速度极快。为了避免突然断电等情况导致数据丢失,Redis 提供了持久化的操作机制。

Redis 持久化

目前,Redis 支持 RDB、AOF 和 diskstore 三种持久化机制。

  • RDB 持久化:将当前数据库生成的数据快照备份到硬盘中,触发机制可以选择手动或自动方式。备份会生成一个压缩数据的二进制文件,代表当前 Redis 运行的内存状态。但是备份并不能做到实时地将数据进行持久化,而且在备份命令运行的过程中也会影响数据库的性能。
  • AOF 持久化:采用数据日志的方式对每次数据的改变进行备份,恢复日志信息后,就可以将 Redis 数据库恢复至最新的内容。这是现阶段最流行的持久化方式。
  • diskstore 持久化:该方式仅支持最新版本的 Redis,单一的键值对应的 value 采用文件方式保存,在内存中没有相应数据的情况下从硬盘中找到数据,并读取到内存中。

应用场景

Redis 最佳的应用场景是一些高并发或要求高 I/O 性能的场景。