news 2026/1/19 11:19:02

Linux C/C++ 学习日记(60):redis(一):基本介绍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux C/C++ 学习日记(60):redis(一):基本介绍

注:该文用于个人学习记录和知识交流,如有不足,欢迎指点。

redis下载参考:配置(10):通过源码安装redis-CSDN博客

一、redis是什么?

Redis是一款开源的、高性能的键值对(Key-Value)内存数据库,全称为Remote Dictionary Server。它以内存作为主要存储介质,同时支持数据持久化到磁盘,兼具极高的读写性能和数据可靠性,并且原生支持多种复杂数据结构,是目前互联网领域最流行的中间件之一。

二、redis核心特点

这些特点是 Redis 被广泛应用的核心原因,也是区别于传统关系型数据库(如 MySQL)的关键:

  1. 超高读写性能数据存储在内存中,避免了磁盘 I/O 的性能瓶颈,单机 QPS(每秒查询次数)可达 10 万级以上。
  2. 是一个KV服务器,用户通过TCP连接修改和访问数据。
  3. 丰富的数据结构支持字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(Sorted Set)、位图(Bitmap)、地理空间(Geo)等多种数据类型,能满足多样化业务需求。
  4. 数据持久化提供两种持久化方案,避免内存数据丢失:

    RDB:定时将内存数据快照写入磁盘,适合备份和灾难恢复。
    AOF:记录所有写操作命令,重启时重放命令恢复数据,数据安全性更高。
  5. 原子操作所有单个命令都是原子性的,支持事务(批量命令执行)和 CAS(Compare And Set)操作,可解决并发数据一致性问题。
  6. 分布式能力支持主从复制、哨兵模式(高可用)、集群模式(分片扩容),可轻松构建分布式 Redis 系统。
  7. 其他功能支持过期时间、发布订阅、Lua 脚本、管道(Pipeline)等扩展功能。

三、Redis 的主要作用

  • 数据缓存将数据库中高频访问的数据缓存到 Redis,降低数据库压力,提升接口响应速度。
  • 分布式协调实现分布式锁、分布式计数器、分布式会话等功能,解决分布式系统中的并发和状态共享问题。
  • 临时数据存储存储短期有效数据,如验证码、临时 token、购物车数据等,利用过期时间自动清理无效数据。
  • 消息传递基于发布订阅(Pub/Sub)或列表(List)实现轻量级消息队列,适用于低延迟、低可靠性要求的场景。
  • 复杂计算支持基于有序集合实现排行榜、基于位图实现用户签到统计、基于地理空间实现附近的人等功能。

四、Redis 的应用场景

应用场景实现方式核心优势
高频数据缓存缓存商品信息、用户信息、首页热点数据,设置合理过期时间降低数据库负载,提升响应速度
分布式锁基于SETNX(SET If Not Exists)+ 过期时间实现解决分布式系统中资源竞争问题(如秒杀、订单扣减)
会话存储替代传统 Cookie 或服务器本地会话,将用户会话存入 Redis支持分布式部署,避免会话丢失
计数器 / 限流器基于INCR/DECR原子操作实现文章阅读量、接口限流高性能,支持高并发计数
排行榜系统基于有序集合(Sorted Set)实现实时榜单(如销量榜、积分榜)支持快速排序和范围查询,可动态更新分值
购物车功能基于哈希(Hash)存储用户购物车数据,Key 为用户 ID,Value 为商品 ID 和数量读写高效,支持批量操作
消息队列基于 List 的LPUSH/RPOP实现简单队列,或基于 Pub/Sub 实现广播轻量级,部署成本低
地理位置服务基于 Geo 数据类型实现 “附近的人”“门店距离排序”支持经纬度存储和距离计算
用户签到 / 活跃度统计基于 Bitmap 存储用户每日签到状态,1 个字节可存储 8 天状态极大节省内存空间

五、Redis 与传统数据库的核心区别

特性Redis传统关系型数据库(如 MySQL)
存储介质内存为主,磁盘为辅(持久化)磁盘为主
数据模型键值对,支持多种数据结构关系模型(表、行、列)
读写性能极高(内存操作)中等(磁盘 I/O 瓶颈)
事务支持弱事务(不支持回滚)强事务(ACID 特性)
适用场景缓存、高频读写、临时数据、分布式协调持久化存储、复杂查询、事务性业务
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/16 18:27:37

BiliTools AI视频总结功能:3分钟掌握B站视频精华的智能秘籍

BiliTools AI视频总结功能:3分钟掌握B站视频精华的智能秘籍 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持视频、音乐、番剧、课程下载……持续更新 项目地址: https://gitcode.com/GitHub_Trending/bilit…

作者头像 李华
网站建设 2026/1/15 21:28:44

B站视频下载神器DownKyi:从入门到精通的完整使用指南

B站视频下载神器DownKyi:从入门到精通的完整使用指南 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&#x…

作者头像 李华
网站建设 2026/1/19 9:56:25

OpCore Simplify:黑苹果新手必备的完整OpenCore配置解决方案

OpCore Simplify:黑苹果新手必备的完整OpenCore配置解决方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的OpenCore配置流程…

作者头像 李华
网站建设 2026/1/19 7:10:58

BiliTools高效攻略:跨平台B站资源下载与管理的终极解决方案

BiliTools高效攻略:跨平台B站资源下载与管理的终极解决方案 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持视频、音乐、番剧、课程下载……持续更新 项目地址: https://gitcode.com/GitHub_Trending/bilit…

作者头像 李华
网站建设 2026/1/18 14:16:12

IndexTTS2踩坑记录:这些常见问题你可能也会遇到

IndexTTS2踩坑记录:这些常见问题你可能也会遇到 在使用 IndexTTS2 最新 V23 版本(构建 by 科哥)进行文本转语音开发和部署的过程中,尽管项目提供了简洁的一键启动脚本和清晰的文档指引,但在实际操作中仍会遇到一些“意…

作者头像 李华
网站建设 2026/1/18 15:06:25

AI全身全息感知实战:如何构建虚拟试衣间系统

AI全身全息感知实战:如何构建虚拟试衣间系统 1. 引言:AI视觉的下一站——全维度人体感知 随着元宇宙、虚拟主播和智能零售的兴起,传统单模态的人体感知技术已难以满足复杂交互场景的需求。仅识别人体姿态或手势,无法完整还原用户…

作者头像 李华