【问题标题】:Scaling vertically with Redis使用 Redis 进行垂直缩放
【发布时间】:2020-11-23 17:25:15
【问题描述】:

鉴于 Redis“主要是单线程”,我想知道在垂直扩展 Redis 方面是否有足够的收益,而不是像 Memcached(多线程)这样的东西?

两者都可以通过向集群添加额外的节点/实例来水平扩展。但是,我想知道 Memcached 是否会因为它是多线程的而在垂直扩展时获得更显着的收益?

【问题讨论】:

    标签: redis memcached scalability


    【解决方案1】:

    这两个系统都允许您以“非常高”的比例垂直扩展...但是如果没有有关应用程序的信息,很难回答任何规模和行为问题:

    • 数据库/缓存的大小
      • 键的数量以及键和值的大小
    • 操作类型以及预期的吞吐量和延迟

    例如,作为一个非常基本的起点,您可以毫无顾忌地使用 25.000 操作/秒的 25.000 操作/秒和非常低的延迟 ((但这可能不会是真的,如果您的值是 120Mb,因为网络会受到广泛影响,但这可能是一个非常糟糕的主意)

    您还必须考虑到,Redis 不仅仅是一个简单的键值存储,它具有各种数据类型(字符串、哈希、集合/排序集……和流),还有持久性选项,以及丰富数据库的模块,用于全文搜索/索引、图形、时间序列……

    您可以使用'Memtier Benchmark' 轻松地针对 Redis 运行一些基准测试。

    所以我认为从“redis vs memcache”内部看问题不是一个好方法,而是专注于您的用例和数据集。

    也就是说,Redis 6.0 为 I/O 引入了一个新的线程模型,这使得 Redis 比以前更快。

    【讨论】:

      猜你喜欢
      • 2018-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-07
      相关资源
      最近更新 更多