论程序的健壮性,宜人贷:可通过Redis解读
Redis 是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。与memcached一样,为了保证效率,数据都是缓存在内存中。不同的是,Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
宜人贷认为,Redis的具体优势主要表现在以下几个方面:
内存永不溢出。Redis主要有两种策略机制来保障存储的key-value数据不会把内存塞满,它们是:过期策略和淘汰策略。“过期策略” 保证过期的key对应的数据会被及时清除;“淘汰策略”保证内存满的时候会自动释放相应空间,因此Redis的内存可以自运行,保证不会产生溢出异常。
宕机可立即恢复数据到内存。Redis的持久化机制,可以保障服务器宕机或重启,原来缓存在内存中的数据不会丢失。Redis通过RDB(快照全量持久化)和AOF(增量日志持久化)这两种持久化策略,使内存拥有持久化机制,因此Redis即使服务器宕机或重启了,也可以最大限度的恢复数据到内存中,提供给client继续使用。
可战到最后一兵一卒的高可用集群。我们把它称为“哨兵模式”,就是有一群哨兵(Sentinel)在Redis服务器前面帮我们监控Redis集群中各个机器的运行情况,并且哨兵间相互通告通知,并指引我们使用那些健康的服务。有了“哨兵模式”,只要集群中有一个Redis服务器还健康存活,哨兵就能把这个健康的Redis服务器提供给我们,那么我们客户端的链接就不会出错。因此,Redis集群可以战斗至最后一兵一卒。
宜人贷认为,大家可以通过以上几方面理解并运用Redis,从而对我们的工作提供帮助。Redis 作为当前互联网世界最为流行的 NoSQL(Not Only SQL)数据库,未来必将在更大程度上提高互联网系统的性能。
责任编辑:kj005
文章投诉热线:156 0057 2229 投诉邮箱:29132 36@qq.com