没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1 分布式缓存 经典面试题和答
案
2 Redis 相比 memcached 有哪些优势?
所有的值均是简单的字符串, 作为其替代者,支持更为丰
富的数据类型
的速度比 快很多
可以持久化其数据
3 Redis 支持哪几种数据类型?
、、、、
4 Redis 集群方案应该怎么做?都有哪些方案?
,大概概念是,它类似于一个代理方式,使用方法和普通 无
任何区别,设置好它下属的多个 实例后,使用时在本需要连接 的地
方改为连接 ,它会以一个代理的身份接收请求并使用一致性 算
法,将请求转接到具体 ,将结果再返回 。使用方式简便相对
只需修改连接端口,对旧项目扩展的首选。 问题: 自身单端
口实例的压力,使用一致性 后,对 节点数量改变时候的计算值的改
变,数据无法自动移动到新的节点。
5 Redis 回收使用的是什么算法?
算法
6 为什么要做 Redis 分区?
分区可以让 管理更大的内存, 将可以使用所有机器的内存。如果
没有分区,你最多只能使用一台机器的内存。分区使 的计算能力通过简
单地增加计算机得到成倍提升 的网络带宽也会随着计算机和网卡的增加
而成倍增长。
7 Redis 的内存占用情况怎么样?
给你举个例子: 万个键值对(键是 到 !!!!!! 值是字符串“""
"#)在我的 位的 笔记本上 用了 $。同样的数据放到一个 %
里只需要 &$, 这是因为键值有一个很大的开销。 在 上执行也
是类似的结果,但是相对 的开销要小一点点,因为 会记录类型信
息引用计数等等。
8 Memcached 服务特点及工作原理是什么?
、完全基于内存缓存的
'、节点之间相互独立
、() 模式架构,( 语言编写,总共 行代码。
、异步I)*+模型,使用 "', 作为事件通知机制。
、被缓存的数据以 %),"- 键值对形式存在的。
.、全部数据存放于内存中,无持久性存储的设计,重启服务器,内存里的数据
会丢失。
、当内存中缓存的数据容量达到启动时设定的内存值时,就自动使用 算
法删除过期的缓存数据。
、可以对存储的数据设置过期时间,这样过期后的数据自动被清除,服务本身
不会监控过期,而是在访问的时候查看 % 的时间戳判断是否过期。
/、 会对设定的内存进行分块,再把块分组,然后再提供服务。
9 如何实现集群中的 session 共享存储?
是运行在一台服务器上的,所有的访问都会到达我们的唯一服务器上,
这样我们可以根据客户端传来的 01,来获取 ,或在对应
不存在的情况下(+生命周期到了)用户第一次登录),创建一
个新的 ;但是,如果我们在集群环境下,假设我们有两台服务器
2,$,用户的请求会由 3 服务器进行转发(别的方案也是同理),用户登
录时,3 将请求转发至服务器 2 上,2 创建了新的 ,并将
01 返回给客户端,用户在浏览其他页面时,客户端验证登录状态,
3 将请求转发至服务器 $,由于 $ 上并没有对应客户端发来 0 的
,所以会重新创建一个新的 ,并且再将这个新的 01 返
回给客户端,这样,我们可以想象一下,用户每一次操作都有 ) 的概率进行
再次的登录,这样不仅对用户体验特别差,还会让服务器上的 激增,
加大服务器的运行压力。
为了解决集群环境下的 共享问题,共有 4 种解决方案:
粘性
粘性 是指 3 每次都将同一用户的所有请求转发至同一台服务器上,即将用户
与服务器绑定。
服务器 复制
即每次 发生变化时,创建或者修改,就广播给所有集群中的服务器,使所有的服
务器上的 相同。
共享
缓存 ,使用 , 。
4 持久化
将 存储至数据库中,像操作数据一样才做 。
10 memcached 与 redis 的区别?
、 不仅仅支持简单的 %), 类型的数据,同时还提供
",,5, 等数据结构的存储。而 只支持简单数据类型,
需要客户端自己处理复杂对象
、 支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候
可以再次加载进行使用(6:持久化在 '、.)。
、由于 没有持久化机制,因此宕机所有缓存数据失效。 配置
为持久化,宕机重启后,将自动加载宕机时刻的数据到缓存系统中。具有更好
的灾备机制。
4、 可以使用 在客户端进行一致性 做分布式。
支持在服务器端做分布式(678)()9"- 多种分布式实
现方式)
:、 的简单限制就是键(%)和 ;"- 的限制。最大键长为 :
个字符。可以接受的储存数据不能超过 $(可修改配置文件变大),因为这
是典型 "'+的最大值,不适合虚拟机使用。而 的 < 长度支持到
:%。
&、 使用的是单线程模型,保证了数据按顺序提交。 需要使用
保证数据一致性。(2((%)是一个确保并发一致性的机制,
属于“乐观锁”范畴;原理很简单:拿版本号,操作,对比版本号,如果一致就
操作,不一致就放弃任何操作
- 利用。由于 只使用单核,而 可以使用多核,所以平均
每一个核上 在存储小数据时比 性能更 高。而在 % 以上
的数据中, 性能要高于 +。
=、 内存管理:使用 "'2""。原理相当简单,预先分配一系
列大小固定的组,然后根据数据大小选择最合适的块存储。避免了内存碎片。
剩余28页未读,继续阅读
资源评论
- yoffey2018-11-25没有写的这么多,不推荐
xiaodoulili
- 粉丝: 0
- 资源: 27
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功