分享

Java面试宝典之分布式相关问答详解

 千锋Python学堂 2020-04-08

1.Redis和Memcache的区别

1、存储方式 Memecache把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小。 Redis有部份存在硬盘上,redis可以持久化其数据

2、数据支持类型 memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型 ,提供listsetzsethash等数据结构的存储

3、使用底层模型不同 它们之间底层实现方式 以及与客户端之间通信的应用协议不一样。 Redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。

4value 值大小不同:Redis 最大可以达到 1gbmemcache 只有 1mb

5redis的速度比memcached快很多

6Redis支持数据的备份,即master-slave模式的数据备份。

2.使用Redis有哪些好处?

(1) 速度快,因为数据存在内存中,类似于HashMapHashMap的优势就是查找和操作的时间复杂度都是O(1)

(2) 支持丰富数据类型,支持stringlistsetsorted sethash

(3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行

(4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除

3.什么是redis持久化rdb和aof的比较?

持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数据丢失。

比较:

1aof文件比rdb更新频率高,优先使用aof还原数据。

2aofrdb更安全也更大

3rdb性能比aof

4、如果两个都配了优先加载AOF

4.Redis最适合的场景?

1)、会话缓存(Session Cache

最常用的一种使用Redis的情景是会话缓存(session cache)。用Redis缓存会话比其他存储(如Memcached)的优势在于:Redis提供持久化。

2)、全页缓存(FPC

除基本的会话token之外,Redis还提供很简便的FPC平台。回到一致性问题,即使重启了Redis实例,因为有磁盘的持久化,用户也不会看到页面加载速度的下降,这是一个极大改进,类似PHP本地FPC

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多