redis面试题

42 阅读3分钟
  1. Redis是什么?

答:Redis全称为Remote Dictionary Server,是一个开源的内存数据结构存储系统,用作数据库、缓存和消息中间件。

  1. Redis支持哪些数据结构?

答:Redis支持字符串、哈希表、列表、集合、有序集合和位图等数据结构。

  1. Redis有哪些数据淘汰机制?

答:Redis的数据淘汰机制包括:定期淘汰、惰性淘汰和内存淘汰。其中,定期淘汰是根据对象的过期时间来淘汰,惰性淘汰是在获取数据时判断是否过期,并进行淘汰,而内存淘汰则是在内存不足时按照一定规则淘汰。

  1. Redis的持久化机制有哪些?

答:Redis的持久化机制有两种:RDB(Redis DataBase)和AOF(Append Only File)。RDB是指将数据集以快照的形式写入磁盘,而AOF则是以追加的方式将每条写命令写入磁盘。其中,RDB更适合备份和恢复,AOF更适合数据持久化和灾难恢复。

  1. Redis支持哪些编程语言接口?

答:Redis支持多种语言接口,包括C、Java、Python、Ruby、PHP等,同时也有针对各个语言的开源客户端库,如Jedis(Java)、redis-py(Python)、redis-rb(Ruby)等。

  1. Redis有哪些优点?

答:Redis的优点包括:高性能、数据结构丰富、支持事务、支持丰富的数据类型、支持数据持久化、支持数据分片、支持多种编程语言接口等。

  1. Redis有哪些缺点?

答:Redis的缺点包括:内存有限、持久化方案较为简单、不能处理复杂的查询操作、单线程执行等。

  1. Redis的主从复制是什么?

答:Redis的主从复制是指将一个Redis节点作为主节点,其他节点作为从节点,在主节点上进行写操作,并将写操作的命令同步到从节点。从节点接收到命令后,执行相同的写操作,以达到数据同步的目的。

  1. Redis的集群是什么?

答:Redis的集群是一种横向扩展的数据分片方案,将数据分成多个Shard(分片),存储在不同的节点上。这样,每个节点只负责处理一部分数据,大大提高了Redis的扩展性和容错性。

  1. Redis的缓存淘汰机制有哪些?

答:Redis的缓存淘汰机制包括:LRU(最近最少使用)、LFU(最少使用)、TTL(过期时间)、Random(随机淘汰)等。常用的是LRU和LFU机制,LRU机制会记录访问时间,根据一定的算法淘汰使用时间最长的数据;LFU机制会记录访问次数,根据一定的算法淘汰使用频率最低的数据。

  1. Redis中的事务是什么?

答:Redis的事务是一组命令的集合,可以执行多个命令,然后作为一个整体一起提交或者回滚。在开启事务后,Redis会将所有要执行的命令缓存在队列中,然后一次性执行。事务中的命令要么全部执行成功,要么全部执行失败。