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

redis内存数据库

Redis 简介

Redis(Remote Dictionary Server)是一个开源的、基于内存的键值存储数据库,支持多种数据结构(如字符串、哈希、列表、集合等)。它以高性能、低延迟和丰富的功能著称,常用于缓存、消息队列、实时分析等场景。


Redis 核心特性

内存存储:数据主要存储在内存中,读写性能极高(可达 10万+/秒 QPS)。
持久化支持:提供 RDB(快照)和 AOF(日志追加)两种持久化机制,确保数据安全。
数据结构丰富:支持字符串、哈希、列表、集合、有序集合、位图等。
高可用与扩展:通过 Redis Sentinel 实现高可用,Redis Cluster 支持分布式扩展。


Redis 常见使用场景

缓存加速:减轻后端数据库压力,如网页缓存、会话存储。
实时排行榜:利用有序集合(ZSET)快速计算排名。
消息队列:通过 LIST 或 Stream 实现轻量级队列。
计数器/限流:使用 INCR 命令实现原子计数。


Redis 基础操作示例

import redis# 连接 Redis
r = redis.Redis(host='localhost', port=6379, db=0)# 字符串操作
r.set('key', 'value')
print(r.get('key'))  # 输出: b'value'# 哈希操作
r.hset('user:1', 'name', 'Alice')
print(r.hget('user:1', 'name'))  # 输出: b'Alice'# 列表操作
r.lpush('tasks', 'task1', 'task2')
print(r.lrange('tasks', 0, -1))  # 输出: [b'task2', b'task1']

Redis 持久化配置

RDB(快照)
在配置文件中设置定时保存:

save 900 1      # 15分钟内至少1次修改触发保存
save 300 10     # 5分钟内至少10次修改触发保存

AOF(日志追加)
启用 AOF 并设置同步策略:

appendonly yes
appendfsync everysec  # 每秒同步一次

Redis 性能优化建议

合理选择数据结构:例如,频繁查询字段用哈希而非字符串。
设置过期时间:避免内存浪费,如 EXPIRE key 3600
批量操作:使用管道(Pipeline)减少网络往返。

pipe = r.pipeline()
pipe.set('key1', 'value1').set('key2', 'value2').execute()

Redis 高可用方案

Redis Sentinel:监控主从节点,自动故障转移。
Redis Cluster:分片存储数据,支持横向扩展。

配置 Sentinel 示例:

sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000

http://www.xdnf.cn/news/732241.html

相关文章:

  • 每处理器变量和每处理器计数器
  • 「Java教案」Java程序的构成
  • SAP Business One:无锡哲讯科技助力中小企业数字化转型的智慧之选
  • ImBatch 7.6.3 中文版 - 高效图片批量处理工具
  • 放假带出门的充电宝买哪种好用耐用?倍思超能充35W了解一下!
  • Vue Element tree lable组合展示
  • 2014药柜设计问题
  • 【Linux】深入解析:云服务器连接 XShell、Linux 目录结构和常用命令
  • Python中的异常处理:如何优雅地处理程序中的错误
  • 面试-【搜索引擎】
  • 历年厦门大学计算机保研上机真题
  • 基于原生JavaScript前端和 Flask 后端的Todo 应用
  • 西门子PLC的维修
  • 【C】位运算
  • 安全帽目标检测
  • 计算机模拟分子合成有哪些应用软件?
  • VMware使用时出现的问题,此文章会不断更新分享使用过程中会出现的问题
  • 级联的if else
  • EDW2025|数据治理的神话破除——从误区到现实
  • CentOS-stream-9 Zabbix的安装与配置
  • 移动安全Android——解决APP抓包证书无效问题
  • comfyui 工作流中 视频长度和哪些参数有关? 生成15秒的视频,再加上RTX4060 8G显卡,尝试一下
  • Linux:Shell脚本基础
  • 【PyTroch学习-001】从一个简单示例开始:手写数字识别
  • [paddle]paddle2onnx无法转换Paddle3.0.0的json格式paddle inference模型
  • wireshark分析国标rtp ps流
  • 睿抗机器人开发者大赛CAIP-编程技能赛-历年真题 解题报告汇总 | 珂学家
  • 电子电路:共射极放大器工作原理及应用详解
  • 数据采集是什么?一文讲清数据采集系统的模式!
  • Linux常用命令大全