zoukankan      html  css  js  c++  java
  • 中间件(1)分布式缓存

      为了提高网站性能,一般都会使用到缓存,缓存的数据源包括数据库,外部接口等,缓存一般分为两种,本地缓存和分布式缓存,这里主要总结的是分布式缓存。

    Memcached vs Redis

    最常用的分布式缓存是Redis和Memcached,它们都是分布式缓存技术中的一种,可能大部分的开发人员都听说或者接触过,但是很少有人认真分析它们之间有什么不同,以及使用场景。

    Memcached是 我们从以下几个方面对它们进行比较。

    网络IO模型

    Memcached是多线程处理。

    Redis是单线程处理。

    内存管理机制

    Memcached是使用预分配的内存池的方式。

    Redis是现场申请内存的方式。

    支持的数据类型

    Memcached仅支持key/value。

    Redis除了支持key/value外,还支持list,set,sorted Set和Hash,支持的数据类型更丰富。

    持久化

    Memcached不支持持久化的。

    Redis支持持久化,有两种持久化策略:基于RDB快照和AOF日志。

    集群

    Memcached和Redis都支持集群部署。

    性能

    由于Memcached使用多线程,所以总体上性能要优于Redis。

    应用场景

    通过上面这几方面的比较,基本上可以确定它们的应用场景:

    1,首先Memcached和Redis都可以作为分布式缓存实现技术中的一种。

    2,如果需要支持除key/value外更多的数据类型,请选择Redis。

    3,如果需要支持数据的持久化,请选择Redis。

    4,如果对缓存性能要求极高,请考虑Memcached。

  • 相关阅读:
    0121 集合类 ArrayList 的练习
    0121 有关接口的使用练习
    泛型相关知识
    0120 父类与子类创建、重写及转型练习
    0118练习 单例模式
    java设计模式 略版
    0117 面向对象OOP有关方法、类、构造方法及权限修饰符的练习
    0115 创建类并调用
    [luogu P2586] GCD 解题报告 (莫比乌斯反演|欧拉函数)
    POJ1284 Primitive Roots (原根)
  • 原文地址:https://www.cnblogs.com/mcgrady/p/7235134.html
Copyright © 2011-2022 走看看