redis作为一个内存数据库,其作用主要体现在可以提供高速的访问处理。
redis在内存层面工作,一个字,快。
这也是redis区别于其他类型数据库的一个主要特点。
与之配合使用的是后端持久化存储数据库,比如结构化的数据库mysql
mysql的数据是存在硬盘的。
当redis和mysql配置使用的时候
用户先访问到的是redis的数据
有需要的时候,redis会在mysql去拿数据。
当redis有数据的时候,客户端的请求能在redis拿到数据,就不用跑到mysql去要。
那么redis这里有几个值得注意的点。
因为redis的缓存数据是有过期时间的。
所以,如果redis如果大量的缓存同时过期,就会造成用户端的访问大量的打到后端mysql数据库上,那么mysql的负载就会大量增加,会影响mysql数据库服务的稳定性,以及响应的速度。这个用专业的术语,叫redis的雪崩。就是一大片雪,掉下来了。
如果redis里面有个关键词,也叫键值对的键,就是key--value的key,是非常热门的,这个key如果缓存过期,也会造成大量的针对这个key的访问直接打到后端数据库服务器上,比如mysql,影响mysql的性能。这个情况的专业术语叫,redis的击穿
如果有大量的请求来访问redis里不存在的key,那么redis只能把请求交给后端数据库服务器,也会造成后端数据库服务器,比如mysql的负载增加,会影响mysql服务器的性能。这个专业术语叫redis的穿透。
以上是三个redis名词的解释。