当前位置: 首页 > news >正文

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安装

  • 下载Windows版Redis: Releases · microsoftarchive/redis · GitHub
  • 运行安装包或解压缩后运行redis-server.exe

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

 

 

相关文章:

  • Spring @Bean注解使用场景二
  • HOT100——链表篇Leetcode234. 回文链表
  • Harmony OS NEXT API 12核心API深度解析与开发实践
  • python基础
  • SQL Server的连接时发生了与网络相关或特定于实例的错误。未找到服务器或无法访问服务器
  • 软考教材重点内容 信息安全工程师 第19章 操作系统安全保护
  • 【JavaScript】10-深入面向对象
  • [设计模式]1_设计模式概览
  • NRBO-Transformer牛顿-拉夫逊算法优化编码器多变量时间序列预测(Matlab实现)
  • Maximize Rating
  • Git使用和原理(3)
  • 从0到1构建AI深度学习视频分析系统--基于YOLO 目标检测的动作序列检查系统:(2)消息队列与消息中间件
  • 2025-03-15 学习记录--C/C++-PTA 习题3-3 出租车计价
  • Thinkphp的belongsToMany(多对多) 和 hasManyThrough(远程一对多)的区别是什么?
  • 【蓝桥杯】省赛:连连看(暴力 非AC)
  • 浅析Redis分布式锁的实现方法
  • 使用OpenAI Python库探索新一代AI接口:从基础到智能体开发
  • 文本组件+Image组件+图集
  • 数学复习(8)连续性
  • STM32F407ZGT6--工程模版
  • 广元做网站/推介网
  • 个人可以做网站导航的网站吗/哪有网页设计公司
  • 网站建设使用的工具/网络营销师有前途吗
  • 潍坊制作网站/深圳网站建设系统
  • 上海高端网站建设公司/长沙seo步骤
  • 武汉做网站的大公司有哪些/企业网站优化解决方案