Redis
郭旭升 Lv6

为什么

高并发系统,不可或缺的是缓存。目前使用广泛、高效的一款开源缓存。

应用场景

  • 缓存(数据查询、短连接、新闻内容、商品内容等)
  • 分布式会话(session)
  • 列表
  • 任务队列(秒杀、抢购、12306等)
  • 排行榜
  • 访问统计
  • 数据过期处理(精确到毫秒)

基础与数据类型

所有key都是String(字符串)。数据类型是说存储值的类型。

  • String (可以是字符串、整数或浮点数)
  • List(链表,每一个链表都包含一个字符串)
  • Set(字符串的无序集合)
  • Zset(对字符串成员和浮点数分数之间有序映射。排序顺序通过分数大小决定。)
  • Hash(键值对的无序散列表)

核心概念

  1. 数据结构:Redis支持多种类型的数据结构,如字符串,哈希,列表,集合,有序集合等;
  2. 持久化:Redis支持将数据定期以持久化的方式写入磁盘,以防止系统宕机时的数据丢失;
  3. 集群:Redis支持将数据分布在多个节点上,以提供高可用性和可伸缩性;
  4. 事务:Redis支持将多个命令组合为一个事务,以提供原子性操作;
  5. 过期:Redis支持设置数据过期时间,超过指定时间后数据会自动被清除;
  6. 脚本:Redis支持Lua脚本,以提供复杂的原子操作;
  7. 发布/订阅:Redis支持。

核心模块/组件

Redis核心模块包括客户端、数据库、网络模块、内存和存储模块、持久化模块以及其他管理模块。
Redis核心组件包括:Redis服务器、Redis客户端、Redis内存数据库、Redis协议、Redis编程库和Redis命令行客户端。

工作原理

Redis是一种开源的内存数据库,它通过将数据存储在内存中而提供高性能。它使用简单的键/值存储模型,允许用户在内存中存储和检索任意类型的数据。Redis还提供一系列强大的功能,包括事务处理,发布/订阅,和自动持久化,使其成为一种特别适合建立实时应用程序的理想数据库。

 Comments