news 2026/6/10 17:07:54

Redis基础知识

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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功能
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 12:29:39

EmotiVoice在短视频配音中的高效应用案例

EmotiVoice在短视频配音中的高效应用案例 在抖音、快手、TikTok等平台日均产生数亿条短视频的今天&#xff0c;内容创作者正面临一个核心挑战&#xff1a;如何以极低成本、极高效率地生成富有感染力的配音&#xff1f;传统依赖真人录音或通用语音合成工具的方式&#xff0c;要么…

作者头像 李华
网站建设 2026/6/10 12:33:23

Material Kit轮播图3大痛点解析:如何用5步打造专业级动态展示

Material Kit轮播图3大痛点解析&#xff1a;如何用5步打造专业级动态展示 【免费下载链接】material-kit Free and Open Source UI Kit for Bootstrap 5, React, Vue.js, React Native and Sketch based on Googles Material Design 项目地址: https://gitcode.com/gh_mirro…

作者头像 李华
网站建设 2026/6/9 22:55:31

EmotiVoice能否实现多人对话同步生成?群组语音功能设想

EmotiVoice 能否实现多人对话同步生成&#xff1f;群组语音功能设想 在虚拟主播直播中&#xff0c;观众常看到多个 AI 角色同屏互动&#xff1b;在有声剧中&#xff0c;旁白与角色对白交错推进情节&#xff1b;在智能客服培训系统里&#xff0c;AI 模拟客户、主管与员工三方辩论…

作者头像 李华
网站建设 2026/6/10 12:57:21

Python实战-学生信息管理系统开发(Tkinter+Json)

本项目是一个基于Python Tkinter的图形化学生信息管理系统&#xff0c;实现学生信息的增删改查、数据保存和文件导出等功能。 这个学生信息管理系统的逻辑非常简单&#xff0c;它就像一个电子笔记本&#xff1a;所有学生信息都记在一个列表里&#xff0c;并自动保存成一个文件&…

作者头像 李华
网站建设 2026/6/9 20:10:19

导热系数测试仪厂家推荐排行榜:2025最新口碑单深度解析

在选择导热系数测试仪时&#xff0c;企业常常面临诸多困扰。比如&#xff0c;测试结果不准确&#xff0c;影响产品研发进度&#xff1b;设备稳定性差&#xff0c;频繁出现故障耽误生产&#xff1b;售后服务不及时&#xff0c;遇到问题无法快速解决。为了帮助企业快速找到靠谱的…

作者头像 李华
网站建设 2026/6/10 14:27:21

Java中Set集合的概念

java.util.Set 是 Java 集合框架的子接口&#xff0c;继承自 Collection 接口&#xff0c;核心特征是存储的元素无序且不可重复&#xff0c;不支持通过索引访问元素。 一、核心特性 1. 元素唯一性 Set 集合不允许存储重复元素&#xff0c;判断元素是否重复的依据是 equals…

作者头像 李华