Redis基本介绍
Redis是什么
Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型有:字符串类型 散列类型 列表类型 集合类型,端口默认为6379。Redis的特点
- 高性能:支持超过 100K+ 每秒的读写频率。
- 支持多种数据类型:除了key-value类型的数据,同时还提供String,List,Set,hash,以及Ordered Set等数据结构的存储。
- 原子性:Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
- 数据持久化:可以将内存中的数据保存在磁盘中,在服务器宕机或者重启时,可以重新读取使用。
- 单线程:避免了不必要的上下文切换以及加锁导致的一系列性能问题。
- 功能丰富:Redis还支持 publish/subscribe, 通知, key 过期等等特性。
Redis的应用场景
1. 热点数据缓存
redis访问速度快,所以对于那些经常查询且不常修改的数据首选使用redis缓存,像新闻内容、商品内容等。
2. 计数器
对于视频播放,文章阅读,排行榜等数据计数的情况,并发量较大且对实时性要求比较高,Redis可以极大减轻服务器的压力。
3. 消息队列
像秒杀,抢购这种活动,可以用于流量削峰,异步处理实时性低的业务(但效果比RabbitMQ,kafka这种专门的消息队列中间件要差点)。
4. 分布式session
分布式集群架构中的session分离。