Redis 详解

1. NoSQL的核心概念和应用场景

核心概念

  • NoSQL(Not Only SQL):一类非关系型数据库的统称,专为处理大规模数据存储而设计
  • 特点:高扩展性、高性能、灵活的数据模型、分布式架构
  • CAP理论:一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance),NoSQL通常优先保证AP或CP

主要类型

  • 键值存储:Redis, Memcached
  • 文档数据库:MongoDB, CouchDB
  • 列族存储:Cassandra, HBase
  • 图数据库:Neo4j, OrientDB

应用场景

  • 高并发读写:社交应用、实时分析
  • 海量数据存储:日志、用户行为数据
  • 缓存系统:减轻数据库压力
  • 实时系统:消息队列、计数器
  • 分布式会话:用户登录状态共享

2. Redis的安装

Windows安装

3. Redis的五种数据模型

1. 字符串(String)

  • 二进制安全的字符串,最大512MB
  • 常用命令:SET, GET, DEL, INCR, DECR

2. 列表(List)

  • 按插入顺序排序的字符串链表
  • 常用命令:LPUSH, RPUSH, LPOP, RPOP, LRANGE

3. 集合(Set)

  • 无序、唯一的字符串集合
  • 常用命令:SADD, SMEMBERS, SISMEMBER, SINTER

4. 有序集合(Sorted Set)

  • 类似集合,但每个元素关联一个分数,按分数排序
  • 常用命令:ZADD, ZRANGE, ZRANK, ZREM

5. 哈希(Hash)

  • 字段和值的映射表
  • 常用命令:HSET, HGET, HGETALL, HDEL

4. Redis的主从模式搭建

概念

  • 主从复制:数据从主节点复制到一个或多个从节点
  • 读写分离:主节点处理写操作,从节点处理读操作
  • 数据备份:从节点作为主节点的备份
配置步骤
1、主节点配置
# redis.conf (主节点)
bind 192.168.1.100
port 6379
2、从节点配置
# redis.conf (从节点)
bind 192.168.1.101
port 6379
replicaof 192.168.1.100 6379  # 设置主节点
3、启动服务
# 主节点
redis-server /path/to/redis.conf

# 从节点
redis-server /path/to/slave.conf
4、验证复制状态
# 在从节点执行
redis-cli> INFO replication

5. Redis的哨兵模式搭建

概念

  • Sentinel:监控Redis主从节点,自动故障转移
  • 功能:监控、通知、自动故障转移、配置提供者
配置步骤

1、创建Sentinel配置文件

# sentinel.conf
port 26379
sentinel monitor mymaster 192.168.1.100 6379 2  # 监控的主节点,2表示法定人数
sentinel down-after-milliseconds mymaster 5000  # 5秒无响应视为下线
sentinel failover-timeout mymaster 60000        # 故障转移超时时间

2、启动Sentinel

redis-sentinel /path/to/sentinel.conf

3、在多台服务器上重复以上步骤(至少3个Sentinel实例)

4、验证Sentinel状态

redis-cli -p 26379
> SENTINEL masters

6. Redis的集群搭建

概念

  • Redis集群:数据自动分片,分布在多个节点
  • 优势:水平扩展、自动分片、高可用
配置步骤

准备节点配置(至少6个节点,3主3从)

# 每个节点的配置(node1.conf)
port 7001
cluster-enabled yes
cluster-config-file nodes-7001.conf
cluster-node-timeout 5000
appendonly yes

启动所有节点

redis-server /path/to/node1.conf
redis-server /path/to/node2.conf
# ... 启动所有节点

创建集群

redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 \
127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 \
--cluster-replicas 1

验证集群状态

redis-cli -c -p 7001
> CLUSTER INFO
> CLUSTER NODES

使用集群

redis-cli -c -p 7001  # -c 表示集群模式
> SET key value

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值