Redis:Redis的概念及各项功能
Redis:简述Redis 的概念及各项功能 一、Redis简介 官方简介:Redis是一个基于BSD开源的项目,是一个把结构化的数据放在内存中的一个存储系统,你可以把它作为数据库,缓存和消息中间件来使用。 同时支持strings,lists,hashes,sets,sorted sets,bitmaps,hyperloglogs和geospatial indexes等数据类型。 它还内建了复制,lua脚本,LRU,事务等功能,通过redis sentinel实现高可用,通过redis cluster实现了自动分片。以及事务,发布/订阅,自动故障转移等等。 综上所述,Redis提供了丰富的功能,这些功能都是干嘛用的?都解决了什么问题?什么情况下才会用到相应的功能?那么下面来粗略的解释下。 二、面临的需求(问题)及解决方案 需求(问题) :我们有一个提供热点新闻列表的api接口,api的消费者抱怨说每次请求都要2秒左右才能返回结果。随后我们就着手于如何提升一下api消费者感知的性能。 基于HTTP的缓存控制 很快最简单粗暴的第一个方案就出来了:为API的响应加上基于HTTP的缓存控制 cache-control:max-age=600 ,即让消费者可以缓存这个响应十分钟。如果api消费者如果有效的利用了响应中的缓存控制信息,则可以有效的改善其感知的性能(10分钟以内)。