redis缓存

Posted 南岭寒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis缓存相关的知识,希望对你有一定的参考价值。

缓存:便携式的,可移动的容器

redis介绍:
    nosql,key-value,非关系型,可持久化,内存,分布式的,缓存,数据库;
  nosql: not only structured query language 不仅仅结构化查询语言 PB ZB EB YB BB NB(70万亿吨一TB硬盘,地球65万亿吨) DB
    结构化数据:有规律的一类数据;例如:人的信息,动物信息,考试信息
    非结构化数据:海量的不具备任何共同特性的数据集合;例如:网页,日志;图片
    关系型数据库:体现不同类结构化数据之间的关系的数据,例如ORACLE mysql
    非关系型数据库:存储的是非结构化的海量数据;无法体现数据的关系;例如 mongoDB redis
  key-value: 目前阶段,非关系型数据库使用的存储数据的格式

可持久化,内存:
    服务器存储的介质,只有2个,一个是磁盘(可靠性高,速度慢),一个是内存(速度快,可靠性低);由于内存数据在断电,宕机后数据消失,访问缓存时造成数据未命中,出现一定范围的数据未命中,将会导致缓存的雪崩/缓存击穿
    
    redis具有持久化数据到磁盘的能力,将内存数据在写入之后按照一定规格存储在磁盘文件中,宕机,断电后可以启动redis是读取磁盘的文件恢复缓存数据;

分布式:
    分布式集群;
    分布式:当个任务被多个节点切分处理,叫做分布式处理一个任务;
    集群:一批节点在同时处理一个或多个任务;
    redis的分布式:单个服务器内存,磁盘空间有限,无法处理海量的缓存数据,必须支持分布式的结构;


缓存:
    缓存的逻辑在SSM框架中的使用;
    数据库缓存:
    sql语句是key值,查询结果resultSet是value,当同一个查询语句访问时(select * from t_product),只要曾经查过,调用缓存直接返回resultSet,节省了数据库技术读取磁盘数据的时间;
    持久层缓存:
    减少了连接数据库的时间;减少了resultSet封装成对象的过程;
    业务层和控制的缓存:
    减少调用层次;
    
    描述缓存在业务层的逻辑;
        查询商品信息;
        判断当前查询在缓存是否有数据
            § 如果有数据,直接返回,当前请求结束
            § 如果没有数据,查询持久层数据库数据,获取数据存储在缓存一份,供后续访问使用;

缓存雪崩/缓存击穿
    海量请求访问服务器,服务器的性能由缓存支撑,一旦一定范围的缓存数据未命中,请求的数据访问涌入数据库;承受不了压力造成宕机--重启--海量请求并未消失--宕机--重启,系统长时间不可用;这种情况就是缓存的雪崩.








































以上是关于redis缓存的主要内容,如果未能解决你的问题,请参考以下文章

redis-- 缓存(redis作为缓存使用)

Redis缓存雪崩缓存穿透缓存击穿

如何查询redis的缓存文件路径

redis缓存怎么结合java使用

怎样使用redis缓存,java代码

查询数据放入了redis中缓存,怎么查看缓存的数据