概述
Redis即Remote Dictionary Service的简称,即远程字典服务。
它是一个远程的非关系型内存数据库。性能强劲。具有复制特性,以及为解决数据而生的独一无二的数据模型:可以存储键值对、以及五种不同类型的值之间的映射。并提供将内存中数据持久化到硬盘功能。可以使用复制特性扩展读性能;可以使用客户端分片扩展写性能。
如下图所示:
Redis特点
- 支持数据的持久化,将内存中数据持久化到硬盘,重启后可以再次加载至内存。
- 支持上图中string、hash、list、set、sorted set等数据类型。
- 支持数据的备份,即master-slave主从数据备份。
- 功能强大:
- 性能极高:读取速度高达11W/s,写速度高达8.1W/s(官方数据)。
- 支持丰富的数据类型。
- 其操作均具有原子性,包括多个操作后另外操作的原子性。
- 支持publish、subscribe、通知、key过期等等功能。
Redis适用场景
- 当需要取出n个最新数据的操作时。
- 当需要实现排行榜类似的应用时。
- 当需要精准设定过期时间的应用时。
- 当需要使用计数器的应用时。
- 当需要做唯一性检查时。
- 当需要获取某一时间段内所有数据排头的数据时。
- 实时系统。
- 垃圾系统。
- 使用pub、sub构建消息系统。
- 构建队列系统。
- 实现最基础的缓存功能时。