redis | 青训营

63 阅读3分钟

源码gitee.com/wedone/redi…

Redis是什么

Redis(Remote Dictionary Server)是一种开源的内存数据存储系统,它可以用作数据库、缓存和消息代理。Redis主要特点包括:

  1. 内存存储: Redis的数据存储在内存中,这使得它非常快速,适合需要高性能的应用场景。
  2. 持久化: Redis可以将数据持久化到磁盘,以防止数据丢失。它支持不同的持久化方式,包括快照和日志追加。
  3. 数据结构: Redis支持多种数据结构,如字符串、哈希、列表、集合、有序集合等,这使得它适用于多种用途,如缓存、计数器、排行榜等。
  4. 高级功能: Redis还提供了一些高级功能,如事务、发布/订阅消息、Lua脚本执行等,这些功能使得它在构建复杂应用时非常有用。
  5. 分布式缓存: Redis支持分布式缓存,可以将数据分布在多个节点上,提高容量和性能。
  6. 轻量级: Redis是一个轻量级的软件,安装和配置都相对简单。
  7. 广泛应用: Redis被广泛应用于许多不同的领域,包括Web应用的缓存、实时分析、排行榜、消息队列等。

数据分为热数据和冷数据,热数据是经常访问的数据。

Redis的工作原理:

image.png

Redis应用案例

Redis在许多不同领域都有广泛的应用。

  1. 缓存: Redis最常见的用途之一是作为缓存层。它可以将热门或频繁访问的数据存储在内存中,以加速读取操作,减少对后端数据库的负载。这可以显著提高应用程序的性能。
  2. 会话存储: Redis可以用于存储用户会话信息,如登录状态、购物车内容等。由于它的高速读写能力,可以保持用户会话的响应速度。
  3. 排行榜和计数器: 由于Redis支持有序集合和计数器功能,它常被用于构建排行榜和计数器应用,如社交媒体的点赞数、文章点击数等。
  4. 实时分析: Redis可以用于实时数据分析和统计,将实时生成的数据存储在内存中,以便进行快速查询和分析。
  5. 消息队列: Redis的发布/订阅功能使其适用于构建消息队列系统,用于在不同的应用程序组件之间传递消息。
  6. 地理空间数据存储: Redis支持地理位置数据的存储和查询,可以用于构建位置相关的应用,如附近的商家搜索、地理围栏等。
  7. 临时存储: Redis常被用于存储临时数据,如验证码、临时会话令牌等。
  8. 缓解数据库负载: Redis可以在某些情况下充当数据库的缓冲层,减轻数据库的读写负载,从而提高整体性能。
  9. 分布式锁: Redis的原子操作和分布式性质使其适合实现分布式锁,以保证在多个进程或节点中的互斥访问。
  10. 实时消息传递: Redis的发布/订阅功能可以用于实现实时消息传递,例如聊天应用或实时通知系统。

Redis注意事项

大Key、热Key

大Key的定义 image.png