Redis缓存篇(一)Redis是如何工作的

Redis提供了高性能的数据存取功能,所以广泛应用在缓存场景中,既能有效地提升业务应用的响应速度,还可以避免把高并发压力发送到数据库层。

因为Redis用作缓存的普遍性以及它在业务应用中的重要作用,所以需要系统地掌握缓存的一系列内容,包括工作原理、替换策略、异常处理和扩展机制。

今天我们了解缓存的特征和Redis缓存的工作机制。

缓存特征

主要有两个特征:

一是在一个层次化的系统中,缓存一定是一个快速子系统,数据存在缓存中时,能避免每次从慢速子系统中存取数据。

二是缓存系统的容量大小总是小于后端慢速系统的,我们不可能把所有数据都放在缓存系统中。

Redis缓存处理请求的两种情况

把Redis用作缓存时,会把Redis部署在数据库的前端,业务应用在访问数据时,会先查询Redis中是否保存了相应的数据。此时,根据数据是否存在缓存中,会有两种情况:

缓存命中:Redis中有相应数据,就直接读取Redis,性能非常快。

缓存失败:Redis中没有相应数据,就从后端数据库中读取数据,性能就会变慢。

因为Redis是独立的系统软件,和业务应用程序是两个软件,因此使用Redis缓存时,要在应用程序中增加三方面代码:

当应用程序需要读取数据时,需要在代码中显式调用Redis的GET操作接口,进行查询;

如果缓存缺失了,应用程序需要再和数据库连接,从数据库中读取数据;

当缓存中的数据需要更新时,也需要在应用程序中显式地调用SET操作接口,把更新的数据写入缓存。

下面是一段示例代码:

String cacheKey = “productid_11010003”; String cacheValue = redisCache.get(cacheKey); //缓存命中 if ( cacheValue != NULL) return cacheValue; //缓存缺失 else cacheValue = getProductFromDB(); redisCache.put(cacheValue) //缓存更新

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wppjsy.html