假设Redis是"大部分为单螺纹";,我想知道垂直扩展Redis与Memcached(多线程(相比是否会有足够的收益?
通过向集群添加额外的节点/实例化,可以对两者进行水平缩放。然而,我想知道Memcached在垂直扩展方面是否会因为它是多线程的而获得更大的收益?
这两个系统都允许您以";非常高";规模但是,如果没有关于应用程序的信息,很难回答任何大小和行为问题:
- 数据库/缓存的大小
- 键的数量、键的大小和值
- 操作类型以及预期吞吐量和延迟
例如,作为一个非常基本的起点,您可以毫不担心地使用25Gb Redis实例,该实例的操作速度为25.000次/秒,延迟非常低(<1ms((但如果您的值为120Mb,这可能不会是真的,因为网络将受到广泛影响,但无论如何,这可能是一个非常糟糕的主意(
此外,您还必须考虑到Redis不仅仅是一个简单的键值存储,它具有各种数据类型(String、Hash、Set/Sorted Set、…和Streams(,还具有持久性选项和模块,这些模块丰富了FullTextSearch/Indexing、Graph、TimeSeries等数据库。。。
使用"Memtier benchmark",您可以轻松地针对Redis运行一些基准测试。
因此,我认为从";redis vs memcache";内部,但要专注于您的用例和数据集。
也就是说,Redis6.0为I/O引入了一个新的线程模型,这使得Redis比以前更快。