Redis简介

起源

2008年,意大利一家创业公司Merzia的创始人Salvatore Sanfilippo为了避免MySQL的低性能,亲自定做一个数据库,并于2009年开发完成了Redis的最初版本。
Salvatore Sanfilippo自己也没有想到,短短的几年时间,Redis就拥有了庞大的用户群体。Hacker News在2012年发布了一份数据库的使用情况调查,结果显示有近12%的公司在使用Redis。国内如新浪微博、街旁和知乎,国外如GitHub、Stack Overflow、Flickr、暴雪和Instagram,都是Redis的用户。

特性

redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。它具有以下特性:

  1. 速度快,性能高
    Redis的数据的数据的操作是在内存里完成的,同时再配合上高效的网络IO模型。单台每秒能处理大约10万次的QPS。
  2. 丰富的数据结构
    redis支持string,list,hash, set, sortedset等不同的数据类型。
  3. 多语言支持
    redis为客户端提供了一个简单的通信协议,现在主流的开发语言都提供了相应的client库,包括java,c++,python,ruby,php等。
  4. 持久化
    redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  5. 高可用,分布式
    为应对海量数据存储的要求, redis提供了对高可用与分布式应用的支持,包括复制,cluster等。

典型使用场景

  1. 缓存系统
    这里写图片描述

    如图所示是一个典型的缓存系统,App Server 总是先访问缓存中的数据,如果不存在再从后端数据库中访问。

  2. 计数器
    这里写图片描述
    如图所示是微博朋友圈,其点赞数就是计算器很好的例子。利用redis的原子自增指令incr可以实现计数器的功能。

  3. 消息队列系统
    这里写图片描述
    消息队列在日常开发中使用频率很高,Redis也提供了基于内存的消息队列。当对消息可靠性要求不高时,可以使用Redis来作为消息队列。

  4. 排行榜
    这里写图片描述
    如图所示是微博朋友圈人气排行榜,利用redis的sortedset有序的特点,以点赞数来作为排序的参考就可以实现上述功能。

  5. 实时系统
    这里写图片描述
    如图所示是一个实时垃圾邮件过滤邮件系统,使用redis构建一个BloomFilter可以轻松实现这样的系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值