面试 005 Redis 相关

79 阅读2分钟

什么是 Redis?

Redis 是一个用于做缓存的高性能 key - value 数据库, Redis 的数据是直接存储在内存中的,所以运行速度是比较快的

优点:运行速度快 缺点: 收到内存大小的限制,缓存数据库不能存储太多的数据, 由于数据是存储到内存中的,所以数据的安全性不是很高,主机宕机的话,数据安全存在一定的风险,

Redis 为什么这么快?

1、Redis 是存储在内存中的,内存是一种比较快的空间 2、Redis 中设计了很多的数据类型,数据类型的优秀设计,使得对于数据的增删改查效率比较高

Redis 中常用的数据结构

string - 简单动态字符串
list - 双端链表
Hash - 底层使用哈希表实现,和 Java 的哈希表是差不多的
set - 存储不同的元素,因为 value 都是统一的 Object ,真实的数据存储在 key 中,所以想要重复,也不可能,变量太少了

Redis 数据的持久化机制

RDB 将 Redis 数据库在某一个时间节点中的快照进行存储,方便后续的恢复,数据恢复的速度较快,但是数据安全性较差。

AOF 将 Redis 中所有的写操作都存放在 .aof 文件中,恢复的时间虽然慢一些,但是数据的安全性是比较高的。

Redis 持久化机制怎么选择

1、如果数据不是很重要的话,可以考虑关闭持久化机制来提升系统的性能 2、数据比较重要,可以忍受丢失几分钟的数据的话, 可以考虑使用 RDB 3、安全性要求比较高的数据,使用 AOF ,相对来说比较安全。

没有最好的持久化机制,只有合适的持久化应用场景