Redis基本介绍

Redis是什么

Redis一个性能的key-value数据库,端口认为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这种专门的消息队列中间件要差点)。

Redis存在的问题

数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。简而言之,Redis受限于特定的场景,专注于特定的领域之下。

相关文章

在笔者近 3 年的 Java 一线开发经历中,尤其是一些移动端、用...
这一篇文章拖了有点久,虽然在项目中使用分布式锁的频率比较...
本文梳理总结了一些 Java 互联网项目中常见的 Redis 缓存应用...
书接上回,消息通知系统(notification-system)作为一个独立...
Redis 是目前互联网后端的热门中间件之一,在许多方面都有深...
在Java Spring 项目中,数据与远程数据库的频繁交互对服务器...