精英联盟总队 缓存框架Redis、Memcached技术选型,「微服务」( 四 )
为了保证单点故障下的数据可用性 , RedisCluster引入了Master节点和Slave节点 。 在RedisCluster中 , 每个Master节点都会有对应的两个用于冗余的Slave节点 。
这样在整个集群中 , 任意两个节点的宕机都不会导致数据的不可用 。 当Master节点退出后 , 集群会自动选择一个Slave节点成为新的Master节点 。
小结Memcached当缓存相对较小和使用静态的数据时候 , 比如HTML代码片段 , Memcached可能更为可取 。
Memcached内部的内存管理在最简单的用例中更为有效 , 因为它的元数据消耗相对更少的内存资源 。
当数据尺寸是动态的时候 , Memcached的内存管理效率下降的很快 , 此时Memcached的内存会变成碎片 。 而且 , 大的数据集经常牵扯到数据序列化 , 总是需要更多的空间来存储 。 如果你使用Memcached , 数据会随着重启动而丢失 , 重建缓存是个代价高昂的过程 。
Memcached比Redis更具优势的另一个场景在伸缩性 。 因为Memcached是多线程的 , 所以你可以通过给它更多计算资源让它轻松扩展 。 Redis是单线程的 , 可以通过集群无损水平扩展 。 集群是一个有效的扩展方案 , 但是相对来说配置、操作复杂 。 Memcached不支持复制功能(数据从一台机器自动复制到另外一台) 。
Memcached非常适合处理高流量的网站 。 它可以一次性读取大量的信息 , 并在优秀的反应时间内返回 。 Redis不但能处理高流量的读 , 还能处理繁重的写入 。
RedisRedis有五种主要的数据结构可以选择 。 通过对缓存数据智能化的缓存和处理 , 它为应用程序开发人员打开了存在各种可能的新世界 。 由于其数据结构(使用多种格式存储数据:列表、数组、集合、有序集合)特性 , Redis作为缓存系统提供了更多的能力和总体上更好的效率 。 缓存使用一种称为“数据回收”的机制 , 通过从内存中删除旧数据为新数据腾出空间 。 Memcached的数据回收机制使用了LRU(LeastRecentlyUsed-最近最少使用)算法 , 但回收与新数据近似大小的数据时有点随意性 。
Redis允许对回收进行细粒度的控制 , 让你选择六种不同的回收策略 。 Redis同时支持惰性(被动)和主动回收 , 只有在需要更多空间或主动激活时才回收数据 。 另一方面 , Memcached只支持惰性回收 。
以下是redis提供的一些功能 , 可以用于“真实”数据存储 , 而不仅仅是缓存 。
强大的数据类型和可利用它们的强大命令支持 。 哈希、有序集合、列表等 。 默认的磁盘持久化支持使用乐观锁的事务支持(WATCH/MULTI/EXEC)发布/订阅功能 , 速度极快高达512MB的键值尺寸上限(Memcached每个键值限于1MB大小)Lua脚本支持(2.6及以上版本)内置集群支持(3.0及以上版本)一切都极快强大的数据类型尤为重要 。 它们允许Redis提供一个出色的共享队列(list) , 一个很棒的消息传递解决方案(pub/sub) , 一个存储会话信息(hashes)的好地方 , 还有一个引人注目的高分值追踪区域(sortedsets) 。 它们仅仅是简单探讨就能得到的使用样例 。
推荐阅读
- haoenyiqi|盐水喷雾测试机
- 今夜我还来|YQL71分挺进周决,PEL和平精英职业联赛战报:A6跳车甩枪瞬秒阿逸
- 科技/资讯 易捷行云作为发起单位成立山东?PKS长城网信产业联盟,拓展信创云生态
- 资深开黑玩家|与职业选手一较高下的机会来了!,《和平精英》ChinaJoy热血竞技
- 英雄联盟全球总决赛连续两年落地中国 全球电竞用户将达到近5亿
- ZAKER生活|南加高校联盟63个校友会50000校友强烈反对加州16号提案
- 中国青年网|白俄罗斯:摩托车手秀特技“冲上云霄”
- 阿瑶说游戏|保准气哭你,和平精英:有技术就能吃鸡?那是你没遇到这5件事
- 假大神|S级难度,钻石以下玩不来,英雄联盟:“空蓝”不想补刀的英雄
- 太平洋电脑网|宁美亮相CJ现场!多款顶配主机任意玩