03 Redis 命令和操作

Redis 命令和操作

  1. Redis 命令
    • 基本命令介绍和示例
  2. 事务和持久化
    • 事务操作
    • 持久化方式和机制
  3. Redis 集群
    • 集群架构
    • 主从复制和分片

Redis 命令

基本命令介绍和示例

Redis 提供了丰富的命令集,用于对数据进行操作和管理。以下是一些常见的基本命令及其示例:

  • SET key value [EX seconds] [PX milliseconds] [NX|XX]: 设置指定键的值。
bashCopy code
SET mykey "Hello"
  • GET key: 获取指定键的值。
bashCopy code
GET mykey
  • DEL key [key ...]: 删除一个或多个键。
bashCopy code
DEL key1 key2
  • EXISTS key: 检查键是否存在。
bashCopy code
EXISTS mykey
  • KEYS pattern: 查找匹配指定模式的键。
bashCopy code
KEYS mypattern*
  • EXPIRE key seconds: 设置键的过期时间(秒)。
bashCopy code
EXPIRE mykey 60
  • TTL key: 获取键的剩余生存时间。
bashCopy code
TTL mykey
  • FLUSHDB: 清空当前数据库的所有数据。
bashCopy code
FLUSHDB
  • SAVE: 将数据同步保存到磁盘上。
bashCopy code
SAVE
  • INFO [section]: 获取 Redis 服务器的信息和统计数据。
bashCopy code
INFO

这些命令提供了对 Redis 数据的基本操作和管理,包括设置键值、获取值、删除键、设置过期时间、清空数据等。使用这些命令可以方便地管理 Redis 数据库。

事务和持久化

事务(Transactions)

Redis 支持事务,通过 MULTI、EXEC、DISCARD 和 WATCH 等命令实现一组命令的原子执行。

  • MULTI: 开启事务,标记一个事务块的开始。
bashCopy code
MULTI
  • EXEC: 执行事务中的所有命令。
bashCopy code
EXEC
  • DISCARD: 取消事务,放弃执行事务中的所有命令。
bashCopy code
DISCARD
  • WATCH key [key ...]: 监视一个或多个键,在事务执行前监视的键发生变化,则事务不执行。
bashCopy code
WATCH mykey

Redis 事务通过 MULTI 开始,EXEC 执行,DISCARD 取消。在 EXEC 执行时,Redis 会原子性地执行事务中的命令,保证了事务中的命令要么全部执行成功,要么全部不执行。

持久化(Persistence)

Redis 支持多种持久化方式,用于在 Redis 重启后恢复数据。

  • 快照(Snapshot): 将数据以快照的形式写入磁盘,保存数据库的状态。
bashCopy code
SAVE
  • 追加式文件(Append-Only File): AOF 日志记录每个写操作,重启时重新执行这些操作以恢复数据。
bashCopy code
CONFIG SET appendonly yes

Redis 提供了持久化机制,保证数据在断电或重启后不会丢失。快照方式适合小型数据库,AOF 方式适合需要更高数据安全性的场景。
持久化和事务是 Redis 提供的重要功能,可以保证数据的安全性和一致性,并且支持灵活的数据操作。

Redis集群

Redis 集群架构

Redis 集群采用分布式架构,由多个节点组成,每个节点负责存储部分数据。集群采用哈希槽(hash slot)的方式将数据分片存储在不同的节点上。每个节点负责维护部分哈希槽,并在集群中协调数据的分布。

  • 哈希槽分配: Redis 集群将数据划分成 16384 个哈希槽(0-16383),每个节点负责维护其中一部分槽的数据。
  • 节点间通信: 节点间通过集群总线进行通信,用于节点间的协调、数据迁移、故障检测等操作。

主从复制和分片

  • 主从复制: Redis 集群中的每个节点都可以担任主节点或从节点。主节点负责处理客户端的读写请求,而从节点则负责复制主节点的数据。当主节点故障时,集群会进行自动故障转移,从节点中选举出新的主节点来接管服务。
  • 分片存储: Redis 集群通过分片存储来实现数据的横向拓展。每个键值对会根据其键名经过哈希计算映射到某个哈希槽,再根据槽位的分配,被存储到相应的节点上。这种方式有效减轻了单节点的存储压力。

主从复制和分片存储是 Redis 集群中重要的机制,通过这些机制实现了数据的高可用性、分布式存储和横向拓展。这使得 Redis 能够更好地应对大规模数据存储和高并发访问的需求。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容