本文共 1653 字,大约阅读时间需要 5 分钟。
Redis概述及实践指南
Redis简介
Redis 是一个开源的、基于C语言开发的NoSQL数据库。它以内存运行并支持持久化,采用键值对存储形式,是分布式架构中不可或缺的一环。Redis服务器采用单进程模型,但可以通过配置调整并发处理能力。
Redis优势
- 高性能:读写速度可达110000次/s,写入速度可达81000次/s。
- 多数据类型支持:支持key-value、String、List、Hash、Set及Ordered Sets等多种数据类型操作。
- 持久化:内存数据可通过RDB或AOF方式持久化保存。
- 原子性:所有操作均为原子性,保证数据一致性。
- 高可用性:支持主从复制、哨兵和集群,实现高可用和数据冗余。
Redis安装部署
1. 安装Redis
systemctl stop firewalldsetenforce 0cd /opt/yum install -y gcc gcc-c++ makecd /opt/redis-5.0.7make PREFIX=/usr/local/redis install
2. 启动Redis服务
cd /usr/local/redis/bin./redis-server
3. 配置Redis
vim /etc/redis/6379.confbind 127.0.0.1 192.168.163.10port 6379daemonize yespidfile /var/run/redis_6379.pid
4. 启用Redis客户端工具
ln -s /usr/local/redis/bin/* /usr/local/bin/
Redis命令工具
- redis-server:启动 Redis 服务器。
- redis-cli:Redis命令行工具,支持远程连接。
- redis-benchmark:性能测试工具。
- redis-check-aof:修复AOF持久化文件。
- redis-check-rdb:修复RDB持久化文件。
Redis常用命令
1. 基本操作
- set key value:存储键值对。
- get key:查询键值。
- keys pattern:列出匹配模式的键。
2. 数据类型操作
- type key:获取键值类型。
- exists key:判断键是否存在。
- del key:删除键。
- rename oldkey newkey:重命名键。
3. 数据备份与恢复
- bgrewriteaof:手动触发AOF文件重写。
- bgsave:手动触发RDB持久化。
- flushdb:清空当前数据库。
- flushall:清空所有数据库。
Redis高可用性
1. 主从复制
主从复制实现数据冗余和负载均衡,支持读写分离架构。
2. 哨兵
哨兵监控主服务器状态,自动切换从服务器为主服务器。
3. 集群
通过 Redis Cluster 实现高性能、高可用性的分布式系统。
Redis持久化
1. RDB持久化
- 原理:周期性快照内存数据保存到磁盘。
- 触发条件:手动调用
bgsave
或save
,或配置文件中设置时间间隔。 - 优点:文件体积小,恢复速度快。
2. AOF持久化
- 原理:记录所有写操作日志,恢复时执行日志命令。
- 优点:支持秒级持久化,恢复一致性更强。
- 缺点:文件体积较大,恢复速度较慢。
Redis性能管理
1. 内存使用
- 查看内存使用:
redis-cli info memory
- 内存碎片率:通过
used_memory_rss / used_memory
计算。 - 优化建议:合理分配内存,设置
maxmemory-policy
。
2. 内存管理
- 内存回收:配置
maxmemory-policy
,设置淘汰策略。 - 内存碎片率控制:避免频繁的内存回收操作。
Redis常见场景
- 缓存:提升应用性能。
- 实时数据处理:如排行榜、计数器。
- 高并发系统:如电商、社交网络。
通过合理配置和使用Redis命令,开发者可以充分发挥其高性能、高可用性的优势,适应不同场景需求。
转载地址:http://lwzzz.baihongyu.com/