【AWS】对比ElastiCache的Memcached和Redis
编程学习日记
2021年5月6日 (Yuē èr èr yī wǔ yuè liù rì)
弹性缓存(ElastiCache)的特点
ElastiCache将数据存储在节点的内存中,从而可以快速地进行数据的读写操作。
然而,由于数据存储在内存中,因此需要注意,当节点重新启动或发生故障时,数据可能会丢失。
Memcached 是一种缓存系统。
Memcached集群可以通过简单地添加或删除节点来实现负载均衡。但是,这依赖于自动检测功能。
Memcached通过轮询节点状态来访问节点。
轮询是一种将服务器和客户端,主系统和外部设备等多个设备协同工作的方法之一。主要为了避免通信等方面的竞争,主机定期向各个设备进行查询,并在满足条件时进行发送和接收以及各种处理。
由于Memcached是多线程运行的,因此增加CPU核心数量可以提高性能。由于它只能处理简单的数据,所以在处理复杂数据时,需要在应用程序中更改存储类型。此外,它可以处理的命令也很少。
Redis是什么
Redis有几种类型,与Memcached集群的不同之处在于具有集群端点。通过增加或减少Redis集群的节点数量可以实现负载均衡。
由于Redis集群具有端点,因此在应用端无需进行轮询。
Redis由于是单线程运行,即使增加CPU核心数量,也不能像Memcached那样期望性能提升。Redis不仅能够使用丰富的数据类型,还具备丰富的功能,如使用正则表达式进行键的搜索等。
使用Memcached和Redis的选择。
使用Memcached和Redis有什么区别?
如何正确使用Memcached和Redis?
如何有效地利用Memcached和Redis?
Memcached和Redis的区别和用法。
使用Memcached时
-
- 単純なデータ型でいい場合
-
- マルチスレッドを使用する場合
- オブジェクトをキャッシュする必要がある場合
使用Redis
-
- 複雑なデータ型が必要な場合
-
- フェイルオーバーが必要な場合
- 永続化が必要な場合
参考资料
选择ElastiCache时,应该选用Memcached还是Redis?