Redis缓存机制
Posted 六小一
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis缓存机制相关的知识,希望对你有一定的参考价值。
-
Redis是一款内存高速缓存数据库; -
数据模型为:key - value,非关系型数据库使用的存储数据的格式; -
可持久化:将内存数据在写入之后按照一定格式存储在磁盘文件中,宕机、断电后可以重启redis时读取磁盘中文件恢复缓存数据; -
分布式:当前任务被多个节点切分处理,叫做分布式处理一个任务。单个服务器内存,磁盘空间有限,无法处理海量的缓存数据,必须支持分布式的结构; -
nosql:not only structured query language 不仅仅结构化查询语言 -
结构化数据:有规律的一类数据;例如:人的信息,动物信息,考试信息 -
结构化数据:海量的不具备任何共同特性的数据集合;例如:网页,日志;图片 -
关系型数据库:体现不同类结构化数据之间的关系的数据,例如ORACLE、mysql -
非关系型数据库:存储的是非结构化的海量数据;无法体现数据的关系;例如 mongoDB redis
Redis缓存
数据库缓存:
sql语句是key值,查询结果resultSet是value,当同一个查询语句访问时(select * from t_product),只要曾经查询过,调用缓存直接返回resultSet,节省了数据库读取磁盘数据的时间。
持久层缓存:
减少了连接数据库的时间;减少了resultSet封装成对象的过程。
业务层和控制层的缓存:
减少调用层次。
描述缓存在业务层的逻辑:
查询商品信息
判断当前查询在缓存是否有数据:
如果有数据,直接返回,当前请求结束;
如果没有数据,查询持久层数据库数据,获取数据存储再缓存一份,供后续访问使用;
缓存雪崩/缓存击穿
海量请求访问服务器,服务器的性能由缓存支撑,一旦一定范围的缓存数据未命中,请求的数据访问涌入数据库;承受不了压力造成宕机--重启--海量请求并未消失--宕机--重启,系统长时间不可用;这种情况就是缓存的雪崩。
以上是关于Redis缓存机制的主要内容,如果未能解决你的问题,请参考以下文章