zoukankan      html  css  js  c++  java
  • 该用哪个:Redis与Memcached之间如何选择呢?

     华为云分布式缓存Redis5.0Memcached都是华为云DCS的核心产品。

    那么在不同的使用场景之下,如何选择Redis5.0和Memcached呢?

    就由小编为大家进行详细的数据对比分析吧

    Redis和Memcached都是非常受欢迎的开源内存数据库,相对关系型数据库,Redis和Memcached使用都简单,且具备高性能。

    同为Key-Value数据库,我们该如何选择?

    表1-1 Redis与Memcached的对比概览

      

    对比项

      
      

    Redis

      
      

    Memcached

      

    延时

    内存数据库,亚毫秒级延时。

    内存数据库,亚毫秒级延时。

    易用性

    语法简单,易用性强。

    语法简单,易用性强。

    分布式存储

    支持集群方式水平扩展。

    支持。

    多语言客户端

    支持Java、C、Python等三十几种语言的客户端连接。

    支持Java、C、Python等十几语言的客户端连接。

    线程/进程

    单核单线程。

    单线程通信,避免不必要的上下文切换与竞争。

    采用非阻塞IO(IO多路复用),减少多客户端连接时的资源消耗。

    支持多线程,可扩展。

    可通过增加CPU数量,提升Memcached性能。

    在key的value较大的场景中,性能优势较明显。

    持久化存储

    支持。

    可将每一次写入操作(数据的增加、删除、修改)记录到磁盘文件(AOF文件)中。

    不支持。

    数据结构

    支持哈希、列表、集合、有序集合等复杂的数据结构。有更多的应用场景

    支持简单的字符串。

    Lua脚本支持

    支持。

    不支持。

    快照备份

    支持。

    快照定期产生,因此不能保证数据100%不丢失。

    Redis会fork一个子进程用于生成快照,当数据较多时,可能产生Redis服务短暂中断。

    不支持。

    数据迁移

    支持。

    可通过RDB快照恢复,或者AOF文件回放的方式,将数据备份并迁移到新的Redis实例上。

    不支持,因为不支持将数据备份、持久化存储。

    由于不需要处理持久化,Memcached的数据处理效率更高。

    Key的Value限制

    Key的值最大可以有1G。

    1M

    由以上对比可知,Redis与Memcached都具有简单易用,性能优越的特点。但在数据结构存储、持久化、备份与迁移、脚本支持等方面有所差异,建议您结合实际应用场景,选择最合适的缓存引擎。

    文章内容来自华为云帮助中心

  • 相关阅读:
    Python-Collections模块之defaultdict
    Python-Collections模块之deque
    Python-Collections模块之NameTuple
    Python-Collections模块之OrderedDict
    @常见的远程服务器连接工具:Xshell与secureCRT的比较!!!(对于刚接触的测试小白很有帮助哦)
    告诉你:传统测试和敏捷测试的区别!!!(比较全的解答,一看便明白)
    @软件测试环境搭建的详细流程(初学者不要错过哦,很实用)!!!!
    Netlib文件转化为mps文件
    新设备关联Gitlab
    CMake与OpenMP
  • 原文地址:https://www.cnblogs.com/husterindg/p/10538503.html
Copyright © 2011-2022 走看看