Redis:永恒不朽(redis永不过期)
的缓存
Redis,全称Remote Dictionary Server,是一个GNU开源的高性能、速度异常快的key-value存储系统,也是一种内存数据库,是的运行速度极快、效率高、支持热数据等分布式通信管理、支持丰富的数据类型、支持多样的持久化以及强大的Cluster模式下容灾,使其成为管理缓存中非常流行的工具,成为永恒不朽的缓存。
作为缓存,redis具有如下特性:高性能、高并发、内存数据库,高可用性、支持持久化、支持热数据、高可伸缩、支持多样的数据类型。高性能,Redis以内存为主,读写速度要比传统的数据库高出太多;高可用性:Redis的Cluster模式下支持多台服务器容灾,消除了单点故障的风险;支持持久化:Redis支持持久化,可以将内存中的数据保存到磁盘;支持热数据:Redis支持将数据异步写入磁盘(脑裂的可能性很小);支持多样的数据类型特别是key-value:Redis特别适合key-value形式的小数据处理,支持string,hash,list,set,sorted set等多种数据类型,支持复杂的查询、交并补等操作。
因此,Redis被广泛应用于分布式系统中,用来替代传统的会话session管理缓存,实现永久化 session。下面举例说明,假设使用springboot+ redis管理session,springboot配置文件中加入以下代码实现:
@EnableRedisHttpSession
public class HttpSessionConfig {
@Bean
public Config redisConfig() {
Config config = new Config();
config.useSingleServer().setAddress(“redis://127.0.0.1:6379”);
return config;
}
}
在需要实现session的控制器中加入以下代码:
@Controller
public class LoginController {
@RequestMapping(value=”/login”,method=RequestMethod.POST)
public String login(HttpSession session,String username,String password){
session.setAttribute(“uid”,username);
session.setAttribute(“pwd”,password);
return “/index.jsp”;
}
}
说明:session中的数据已经使用redis缓存起来,springboot+redis管理session数据,实现永久化session,也极大的提高了网站的性能,节省了服务器的资源消耗。
总之,Redis的出现带来了传统缓存技术的革命性变革,它的简单勇敢的设计、高性能、良好的持久化、高可扩展、高可容错、支持多种数据类型的天赋,使它拥有更多的应用场景,更易于操作维护,成为永恒不朽的缓存,受到越来越多的用户的喜爱。