本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
常见 ElastiCache 用例以及 ElastiCache 如何提供帮助
无论是提供最新资讯、产品目录还是销售活动的门票,速度都是关键。传输内容的速度对您的网站和业务的成功有很大的影响。
《纽约时报》曾报道:“对于没有耐心的 Web 用户而言,一眨眼的功夫都显得太长
如果有人需要数据,在该数据已缓存的情况下,您可以更快地传输该数据。无论是网页还是推动业务决策的报告,都是如此。您的公司是否能在不缓存网页的情况下以可能最短的延迟传输网页?
直观上显著的一点是,您需要缓存请求次数最多的项目。但您为何不缓存请求次数极少的项目? 甚至最优化的数据库查询或远程 API 调用的速度也比从内存中的缓存检索平面密钥的速度慢得多。显著变慢是导致客户流失的原因。
以下示例说明了使用 ElastiCache 可以提高应用程序整体性能的一些方法。
内存中的数据存储
内存中密钥值存储的主要目的是,提供对数据副本的超快 (毫秒级延迟) 的、低成本的访问。大部分数据存储具有经常访问但很少更新的数据区域。此外,查询数据库将始终比在密钥值对缓存中查找密钥更慢且成本更高。某些数据库查询的执行成本特别高。例如,涉及跨多个表连接的查询或含有密集型计算的查询。通过缓存此类查询结果,您只需为查询支付一次费用。然后,您可以快速地多次检索数据,而无需重新执行查询。
我应对哪些数据进行缓存?
在决定要缓存的数据时,请考虑这些因素:
速度和费用 – 与从缓存中获取数据相比,从数据库中获取数据始终更慢且费用更高。一些数据库查询原本就比其他查询更慢且费用更高。例如,在多个表上执行连接的查询要比简单的单表查询更慢且费用更高。如果要使用速度慢且费用高的查询来获取所需数据,则这种情况适合使用缓存。如果要使用相对快速且简单的查询来获取数据,则这种情况可能也适合使用缓存,但具体取决于其他因素。
数据和访问模式 – 确定要缓存的数据还需要了解数据本身及其访问模式。例如,对快速变化或很少访问的数据进行缓存是没有意义的。为了使缓存具有真实的益处,数据应相对静态且被频繁访问。例如,社交媒体网站上的个人资料。另一方面,如果对数据进行缓存不会带来速度或成本优势,那么您将无需缓存数据。例如,对返回搜索结果的网页进行缓存是没有意义的,因为这些查询与结果通常是唯一的。
过时性– 根据定义,缓存的数据是过时的数据。即使在某些情况下它不是过时的,它也应该始终被认为是过时的并按过时数据处理。在判断数据是否适合使用缓存时,请确定应用程序对过时数据的容忍性。
您的应用程序也许能够在一种环境中容忍过时数据,但不能在另一种环境中容忍过时数据。例如,假设您的站点提供公开交易的股票价格。您的客户可能会接受一些过时性,并且免责声明价格可能存在 n 分钟延迟。但是,在向卖出或买入股票的经纪人提供股票的价格时,您需要实时数据。
在以下情况下,需要考虑对数据进行缓存:
与缓存检索相比,获取数据的速度更慢且费用更高。
用户经常访问您的数据。
您的数据保持相对相同,或者如果数据迅速发生变化,过时性不是一个大问题。
有关更多信息,请参阅下列内容:
ElastiCache (Memcached)用户指南中的缓存策略
ElastiCache 客户感言
要了解爱彼迎、PBS、Esri等企业如何通过改善客户体验 ElastiCache 来利用亚马逊来发展业务,请参阅其他人如何使用亚马逊
您还可以观看教程视频,了解其他ElastiCache 客户使用案例。