Redis

来源:互联网 发布:电脑版解压软件 编辑:程序博客网 时间:2024/06/06 22:03

Redis作为缓存技术之一,已经被大量使用。现对Redis的代码做一次总结。

1、分布式架构为什么要用缓存?以sesson处理为例,如果一个项目部署了多个节点,部署在多个服务器上。如何做session共享,很显然,大家会想到有数据库存储session会话信息,数据库存在性能瓶颈,所以引入缓存。无论是memcached也好,redis也好均能实现。在微服务架构中,各中心独立,解耦合,如果作为一个管理后台,或者实现单点登录,使用缓存处理会话信息是优先的方案(zookepper也有解决机制)。原理:浏览器发起请求访问,服务器接受,产生seesion信息,如sessionID,将会话信息存储到缓存中,然后返回给浏览器,浏览器用cookie存储sessionID等会话信息。那么同一个域下的请求,都将用同一个seesionID去请求服务器,服务器接收后去缓存中查询是否有相应的会话信息,这样就实现了浏览器-服务器-sesion-redis的一个机制。

具体实现代码参考:http://blog.csdn.net/u013623705/article/details/77187930


2、高并发状态下为什么要用缓存cache?原因在于传统的关系系数据库效率有限,高并发状态下,服务器无法提供良好的数据库服务,存在性能瓶颈。将项目中会出现并发瓶颈的每个点,在原有数据库操作的基础上,增加缓存操作。例如 一个查询操作,先从缓存中取,取到则返回,取不到则去数据库查,数据库的查询结果再入缓存。这样保证了,在数据库中与缓存中都有一份目标数据。提升查询效率,从而提升业务处理效率,提高系统性能,提升用户体验。


3、Jedis 基于 redis.clients pom包,缓存操作过程 即从JedisPool拉取一个连接实例,执行数据存取,使用后归还及释放。 Jedis 是以往开发人员使用的缓存实现方式。

具体实现代码参考:http://blog.csdn.net/u013623705/article/details/77184637


4、RedisTemplate出现后,不再使用Jedis,基于spring-data-redis、redis.clients pom包。缓存操作过程即 从 RedisConnectionFactory 拉取连接,执行数据存取,使用后的归还释放 底层均有实现 无须手动加代码,因而优化了缓存连接引发的性能。

具体实现代码参考:http://blog.csdn.net/u013623705/article/details/77184675



原创粉丝点击