作品集封面

Redis学习

Portfolio for Redis学习

作者头像 LumiBee
最后修改日期

文章列表 (10)

Redis10_深入理解哨兵模式

Redis Sentinel是用于监控Redis主从集群的分布式系统,能在主节点故障时自动完成主从切换,确保高可用性。它通过监控、通知、自动故障转移和配置提供者四大核心功能,实现快速故障恢复。Sentinel集群需至少3个实例,通过主观下线和客观下线机制判断主节点状态,并选举新主节点。配置参数如minreplicastowrite可避免脑裂问题。

Redis09_深入理解主从复制

Redis主从复制通过主节点同步数据到从节点,实现数据冗余、读写分离和备份。主节点处理写操作并同步数据,从节点处理读操作。复制过程包括全量/部分复制和命令传播。PSYNC2优化了故障转移后的部分重同步。全量复制使用RDB而非AOF以提高效率。但主从复制缺乏自动故障转移能力,需借助Redis Sentinel解决。

Redis08_持久化

Redis作为内存数据库默认数据存储在RAM中,重启会导致数据丢失,因此提供RDB和AOF两种持久化机制。RDB通过定时快照保存数据,恢复快但可能丢失两次快照间的数据;AOF记录每个写命令,数据更完整但文件较大。两者各有优缺点,可根据需求选择或结合使用。

Redis07_Redis.conf详解

redis.conf是Redis服务器的配置文件,用于自定义Redis行为,涵盖网络、安全、持久化、内存管理等关键参数。重要配置包括监听地址(bind)、端口(port)、持久化方式(RDB/AOF)、内存限制(maxmemory)及淘汰策略(maxmemory-policy)等。正确配置可优化性能、保障数据安全与高可用性。支持运行时修改并通过CONFIG REWRITE保存。

Redis06_SpringBoot整合Redis源码解析

Spring Boot 2.0后默认Redis客户端从Jedis切换为Lettuce,因其非阻塞I/O、线程安全、高并发性能更优,支持响应式编程且资源利用率高。RedisTemplate是Spring Data Redis的核心类,提供操作接口和序列化功能,常用自定义配置如StringRedisSerializer和Jackson2JsonRedisSerializer以提升可读性和安全性。

Redis05_事务操作

Redis事务是一组命令的集合,执行时具有顺序性和排他性,但不保证原子性。通过MULTI开启事务,EXEC执行,DISCARD取消。WATCH实现乐观锁,监控键值变化,若被修改则事务失败,需客户端处理重试。事务异常分编译时(全部不执行)和运行时(部分执行)。

Redis04_数据类型

Redis五种数据类型介绍,包括String(字符串、数字、序列化对象,最大512MB,支持原子操作)、List(可重复元素,支持头尾操作,用于消息队列)。常用命令如SET/GET、INCR/DECR、LPUSH/RPUSH等,应用场景包括缓存、计数器、分布式锁等。

Redis03_benchmark性能测试

Redis自带的redis-benchmark工具可进行压力测试,示例命令测试100个并发连接和10万请求:`redis-benchmark -h localhost -p 6379 -c 100 -n 100000`。

Redis02_Mac安装

本文介绍了在Mac上使用Homebrew安装和配置Redis的步骤,包括安装Redis、查看安装路径和配置文件位置、启动和停止Redis服务、连接Redis客户端以及设置后台运行。同时提供了相关命令和注意事项,如使用brew启动服务、通过redis-cli连接和关闭服务等。

Redis01_NoSQL和Redis概述

NoSQL是非关系型数据库统称,支持灵活数据模型、高扩展性和高性能,包括键值、文档、列族和图数据库等类型。Redis是基于内存的键值数据库,支持多种数据结构,高性能且支持持久化。其单线程设计通过内存存储和高效事件机制保证性能,6.0后引入多线程IO提升网络处理能力。采用定期删除和惰性删除策略管理过期数据。