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

Redis基础知识

Redis是一个开源、高性能的内存键值数据库,Redis = REmote DIctionary Server(远程字典服务器)。它不是简单的键值存储,而是支持字符串、列表、哈希、集合等多种复杂数据结构,使其成为构建现代实时应用的“瑞士军刀”。

简单来说,你可以把它理解为一个超快、多才多艺的“内存临时工”,专门处理需要极速读写和复杂操作的临时数据。


🎯核心特征

  1. 内存存储:数据主要保存在内存中,读写速度极快(微秒级)。
  2. 持久化选项:可配置将数据异步保存到磁盘,防止重启后数据丢失。
  3. 丰富的数据结构:不仅是key-value,还有ListSetHashSorted SetStream等。
  4. 单线程模型:避免多线程竞争,保证了操作的原子性和高性能。
  5. 多功能:不仅是缓存,还可作为数据库、消息队列、会话存储等。
  6. 支持过期时间:可以设置数据的生存时间(TTL)
  7. 键值存储:以 key-value 对的形式存储数据

🛠️核心数据结构与用途

数据结构特点典型应用场景
String最基本类型,可存文本、数字、二进制缓存HTML片段、计数器、用户令牌
List有序、可重复的字符串列表消息队列、最新N条记录
Set无序、唯一的字符串集合标签、共同好友、去重
Sorted Set带分数排序的Set排行榜、延迟队列
Hash键值对集合存储用户对象、商品属性
Stream支持多消费者的持久化消息流事件溯源、日志收集

基本使用方式

importredis# 1. 连接 Redisr=redis.Redis(host='localhost',port=6379,password='密码')# 2. 存储数据(SET)r.set('user_name','John')r.set('cache_key',json.dumps(data),ex=3600)# ex=3600 表示 1 小时后过期# 3. 读取数据(GET)value=r.get('user_name')# 返回 b'John'(字节类型)decoded_value=value.decode('utf-8')# 'John'# 4. 删除数据(DEL)r.delete('user_name')# 5. 检查是否存在(EXISTS)ifr.exists('cache_key'):print("缓存存在")

为什么选择 Redis,而不是其他数据库?

场景选择理由
需要极速读写(<1ms)✅ Redis内存存储,速度快10-100倍
需要复杂数据结构✅ Redis原生支持集合运算、排序等
数据持久化是首要需求❌ 考虑 PostgreSQL/MySQLRedis 持久化是辅助功能
数据量远超内存大小❌ 考虑 Cassandra/磁盘DBRedis 主要数据在内存
需要完整SQL查询❌ 考虑关系型数据库Redis 无SQL功能
http://www.cnnetsun.cn/news/107539.html

相关文章:

  • Windows系统清理优化神器!支持Win10/11磁盘空间注册表清理,开机自启动项管理、程序应用安装更新卸载,电脑性能优化设置增强!
  • EmotiVoice语音合成日志记录规范:便于调试与审计
  • EmotiVoice语音合成多区域部署架构设计
  • 不常用但超实用!QSpinBox 九大隐藏技巧
  • ChatGPT 说:豆包手机被微信“拒绝”,背后隐藏的是技术与生态的深层冲突
  • C++基础知识点——5个重要位运算技巧(通俗易懂版)
  • ScriptHookV模组开发实战:从入门到精通的完整指南
  • 重磅!AI应用架构师力推的企业虚拟运营方案_副本
  • pose-search:人体动作分析与姿态搜索终极指南
  • 终极隐私保护方案:用Buzz实现完全离线的语音转文字
  • DTLN实时降噪技术:用AI算法打造纯净语音体验的完整指南
  • 移动端视频录制技术革新:基于MediaRecorder的高性能解决方案
  • EmotiVoice与RVC的区别是什么?一文讲清两者定位差异
  • EmotiVoice语音合成中断怎么办?常见错误排查
  • ComfyUI-SeedVR2视频超分插件完整安装与配置指南
  • 开源TTS新星崛起:EmotiVoice为何备受开发者青睐?
  • 记录Kibana多实例竞争导致的迁移锁
  • PySlowFast混合精度训练终极技巧:快速突破视频模型性能瓶颈的完整解决方案
  • 多肽合成丨HNGS14G CAS号: 330936-70-4
  • 43、Linux 网络安全:防火墙与认证机制深度解析(上)
  • 44、一次性密码与安全外壳:保障系统安全登录的有效手段
  • PostgreSQL pgvector扩展:向量相似性搜索的终极实践指南
  • 50、Linux系统安装与磁盘分区全攻略
  • 27、Linux 路由软件配置指南
  • KISS FFT轻量级信号处理终极指南:从入门到精通
  • 快速掌握X-AnyLabeling:GeCO模型在目标计数中的完整实践指南
  • Mac M1芯片运行EmotiVoice性能表现如何?
  • 如何快速构建Next.js多租户认证系统:终极完整指南
  • 计算机Java毕设实战-基于JAVA的北京市公交管理系统基于Java的城市公交查询管理系统的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 计算机Java毕设实战-基于SpringBoot的景点门票销售管理系统基于JAVA白云山景点门票销售管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】