网站快速施工的基本原则
分布式缓存
回顾网站体系结构的演变,当网站遇到性能瓶颈时,首先想到的解决方案是使用缓存。在整个网站应用程序中,缓存几乎无处不在,不仅存在于浏览器中,也存在于应用服务器和数据库服务器中;您可以缓存数据缓存、文件和页面片段。缓存的合理使用对网站性能优化具有重要意义。
网站性能优化第一定律:优先考虑缓存优化性能。
缓存的基本原理
缓存是指将数据存储在一个相对高速的存储介质中,以便进行系统处理。一方面,缓存访问速度快,可以减少数据访问时间。另一方面,如果缓存的数据是通过计算获得的,那么缓存的数据可以直接使用,而不需要重复计算。因此,缓存也起到了减少计算时间的作用。
高速缓存的本质是一个存储器Hash表,网站应用程序,数据缓存以一对Key,Value的形式存储在存储器Hash表中(数据读写的时间复杂度为0(1)。图4.7显示了一对KV在Hash表中的存储。
通过计算KV对Key中HashCode对应的Hash表索引,可以快速访问Hash表中的数据。许多语言支持获取任何对象的HashCode,并且HashCode可以理解为对象的唯一标识符。Java语言中的HashCode方法包含在根对象中,其返回值是一个int,然后用HashCode计算Hash表的索引下标。** 简单的方法是余数法。Hash表数组的长度用于查找HashCode的余数。余数是Hash表索引,存储在Hash表中的KV对可以通过索引直接访问Hash表是软件开发中常用的数据结构,其设计思想可以应用于很多场景。