07 初识Redis | 青训营

71 阅读3分钟

Redis简介

Redis (Remote Dictionary Server) 是一种使用 ANSI C 语言编写、遵守 BSD 协议、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库。其值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。Redis通常被用于快速处理数据访问和存储,特别是在需要高速读写操作的场景中。

Redis特点

  1. 内存存储: Redis 将数据存储在内存中,这使得它能够实现非常高速的读写操作。相比传统的磁盘存储数据库,Redis 在处理数据时具有极低的延迟。
  2. 多数据结构支持: Redis 不仅支持简单的键值存储,还提供了多种数据结构,如字符串、哈希表、列表、集合和有序集合等。这些数据结构使开发人员能够更灵活地处理各种类型的数据。
  3. 持久化: 尽管 Redis 的数据存储在内存中,但它支持将数据持久化到磁盘,以防止数据丢失。Redis 提供了两种持久化方式:快照(将数据写入磁盘)和日志(追加操作到文件)。这确保了即使在服务器重启时,数据也不会丢失。
  4. 高可用性和复制: Redis 支持主从复制,可以将数据从一个主节点复制到多个从节点。这提供了数据冗余备份和负载均衡,同时从节点还可以在主节点故障时提供读取服务,提高了系统的可用性。
  5. 发布-订阅模式: Redis 的发布-订阅模式允许客户端订阅频道,以接收其他客户端发布到这些频道的消息。这对于实现实时通知和事件驱动的应用程序非常有用。
  6. 事务支持: Redis 允许开发人员将一系列操作封装在一个事务中,以确保这些操作在执行期间是原子的。这样可以维护数据的一致性,即使在多个操作之间发生故障。

Redis命令

键值操作:

  • SET key value: 设置键的值。
  • GET key: 获取键的值。
  • DEL key: 删除键。
  • EXISTS key: 检查键是否存在。
  • TTL key: 获取键的剩余生存时间。

哈希操作:

  • HSET hash key value: 在哈希表中设置字段的值。
  • HGET hash key: 获取哈希表中字段的值。
  • HGETALL hash: 获取哈希表的所有字段和值。
  • HDEL hash key: 删除哈希表中的字段。
  • HKEYS hash: 获取哈希表的所有字段。

列表操作:

  • LPUSH list value: 在列表左侧插入值。
  • RPUSH list value: 在列表右侧插入值。
  • LPOP list: 移除并获取列表左侧的元素。
  • RPOP list: 移除并获取列表右侧的元素。
  • LRANGE list start stop: 获取列表指定范围内的元素。

集合操作:

  • SADD set member: 向集合添加成员。
  • SMEMBERS set: 获取集合的所有成员。
  • SREM set member: 从集合中移除成员。
  • SISMEMBER set member: 检查成员是否在集合中。

有序集合操作:

  • ZADD sortedset score member: 向有序集合添加成员并指定分数。
  • ZRANGE sortedset start stop: 获取有序集合指定范围内的成员。
  • ZREM sortedset member: 从有序集合中移除成员。

事务操作:

  • MULTI: 开始事务。
  • EXEC: 执行事务中的命令。
  • DISCARD: 取消事务。

发布-订阅操作:

  • SUBSCRIBE channel: 订阅一个频道。
  • PUBLISH channel message: 向频道发布消息。