Redis是什么
- 开源
- 基于键值的存储服务系统
- 多种数据结构
- 高性能、功能丰富
Redis的特性
- 速度快
- 持久化
- 多种数据结构
- 支持多种编程语言
- 主从复制
- 高可用、分布式
速度快
读写性能优异, Redis能读的速度是110000次/s,写的速度是81000次/s。
原因:
- 数据是存放在
内存
中(主要原因) - 使用C语言实现
- 使用单线程的线程模型
持久化(断电数据不丢失)
Redis将所有的数据保存在内存
中,对数据的更新将异步的保存在磁盘
中,支持AOF和RDB两种持久化方式。
多种数据结构
除了支持string类型的value外还支持hash、set、zset、list等数据结构。
除了这些还有一些其他的数据结构:
BitMaps
:位图HyperLogLog
:超小内存唯一值计数GEO
:地理信息定位
主从复制
高可用和分布式
典型使用场景
- 缓存系统:用户请求获取数据,如果缓存中有,可以直接从缓存中获取;如果没有,则从数据库中获取并在缓存中保存
- 计数器:微博的转发数和点赞数
- 消息队列系统:实现类似RabbitMQ的功能
- 排行榜:比如微博的热搜排行榜
- 社交网络:粉丝数、关注数等
- 实时系统:垃圾邮件处理系统