Redis 知识总结

一、Redis 到底是啥?

简单说,Redis 就是一个运行在电脑内存里的"超级快"的仓库

  • :因为它不读写硬盘,直接在内存里操作数据。每秒能读11万次,写8万次,比传统数据库快太多了。

  • 不丢:虽然它在内存里工作,但它有个本事,可以按照你设置的规则,自动把数据保存到硬盘上。就算电脑关机了,下次开机还能把数据找回来。

  • 能干很多活:它不只能存简单的"名字-值",还能存列表、集合、有序集合、哈希表,功能很强大。

一句话总结:Redis 就是一个快如闪电、还能自动备份的内存版超级仓库。


二、它跟传统数据库(比如MySQL)有啥不一样?

你可以把 MySQL 想象成一个文件柜,里面有好多抽屉(表),每个抽屉里又有很多文件夹(行),规规矩矩的。找东西虽然稳,但得翻来翻去,速度一般。

Redis 想象成一个快递架,每件快递都贴了个标签(key),你只要知道标签,就能"嗖"一下拿到东西(value),根本不用翻。

对比项 MySQL(文件柜) Redis(快递架)
存东西的方式 规规矩矩的表格,一行一列 贴个标签,随手一放
扩展方式 慢了就换更快的机器(向上堆) 慢了就多加几个货架(向外扩)
擅长的事 保证数据绝对准确,比如银行转账 追求极致的速度,比如看网页、刷排名

三、Redis 为什么能跑得这么快?

主要有三个原因:

  1. 纯内存干活:它直接在内存里操作,不像MySQL还得去硬盘里找。内存比硬盘快几百倍。

  2. 一个人专心干活:Redis的核心是单线程的。就像一个人同时只做一件事,不用分心,也不用跟别人抢工具,效率反而高。

  3. "一夫当关"的门卫 :它用一种叫 I/O多路复用 的技术,一个门卫就能同时接待成千上万个请求,忙而不乱。


四、Redis 都能存什么类型的数据?(重点!)

这是面试必问的,记住这五种"容器"就行:

  1. String(字符串) :最简单的,就是"键-值"。比如存 name = "张三"。啥都能存,数字、一段话都行。

  2. List(列表) :像一串糖葫芦,有顺序,可以左边加,右边取。最适合做消息队列,比如"先来先服务"。

  3. Set(集合) :像一个麻袋,里面东西都是独一无二的,没有顺序。最适合做去重,比如统计今天有哪些独立访客。

  4. Hash(哈希) :像一个小型的Redis。可以存一个对象的多个属性。比如存一个用户:user:100 里面有 nameagecity。很适合存对象

  5. Zset(有序集合) :是Set的升级版,每个元素都有个"分数",按分数排序。最适合做排行榜,比如游戏积分榜、热门文章排名。


五、Redis 适合干什么活?(实际应用)

  1. 缓存(最常用):比如网站首页的广告、商品详情。数据量大、不怎么变,放Redis里,用户访问"嗖"一下就出来了,不用每次都去数据库查。

  2. 排行榜 :用 Zset 轻松搞定,比如B站热门视频、微博热搜。

  3. 计数器 :用 INCR 命令,比如统计文章阅读量、直播点赞数。

  4. 最新N条数据 :用 ListLPUSH + LTRIM,比如展示最新的10条评论。

  5. 消息队列 :用 List 实现简单的消息系统,处理异步任务。

不适合干的事: 银行转账这种一分钱都不能错的、需要复杂SQL查询的。


六、怎么操作Redis?(最常用的几个命令)

记住这几个,日常用就够了:

  • 放数据set key value (比如:set name "小明"

  • 拿数据get key (比如:get name

  • 看所有keykeys * (千万别在生产环境用!会卡死)

  • 设置过期时间expire key 秒数 (比如:expire name 10,10秒后自动删除)

  • 看还有几秒过期ttl key (返回-1表示永不过期,-2表示已经没了)

  • 删数据del key

  • 切换数据库select 数字 (Redis默认有0到15共16个库)

  • 清空当前库flushdb (慎用!)

  • 清空所有库flushall (非常慎用!)


七、一些坑和注意事项(面试加分项)

  1. keys * 别乱用 :数据量一大,这个命令会让Redis卡死。线上查数据用 SCAN 命令代替。

  2. 设置密码 :生产环境一定要设置密码(requirepass),别把Redis裸奔在公网上。

  3. 不用root跑 :为了安全,创建一个普通用户(比如 redis)来运行它。

  4. 合理设置过期时间 :所有缓存的数据都要有 expire,不然内存会被撑爆。

  5. 持久化要配置好:根据数据重要性,配置好RDB(快照)和AOF(日志),防止丢数据。


最后,用一句话总结Redis:

Redis 就是一个快得离谱、还能自动备份、能干很多巧活儿的内存数据库,是现在互联网项目里解决高并发、提升访问速度的标配神器。

相关推荐
一切皆是因缘际会14 分钟前
从概率生成到内生心智:2026大模型瓶颈与下一代AI演进方向
人工智能·安全·ai·架构
勇闯逆流河1 小时前
【Linux】linux进程控制(进程池的详解与实现)
linux·运维·服务器
WJ.Polar2 小时前
Scapy基本应用
linux·运维·网络·python
@insist1232 小时前
信息安全工程师-入侵检测核心技术、APT 应对与工程实践
网络·安全·软考·信息安全工程师·软件水平考试
数智顾问3 小时前
(123页PPT)华为流程管理体系精髓提炼(附下载方式)
运维·华为
计算机安禾3 小时前
【计算机网络】第6篇:虚拟局域网——基于标签的广播域划分及其安全边界
计算机网络·安全·php
AC赳赳老秦6 小时前
财务报销自动化:用 OpenClaw 自动识别发票信息、填写报销单、校验报销规则,减少手工操作
运维·网络·eclipse·github·visual studio·deepseek·openclaw
FeelTouch Labs6 小时前
开源安全治理体系建设
安全·开源
一拳一个娘娘腔6 小时前
内网权限维持实战体系:从单机寄生到域控信任链的深度解析
网络·安全·信任链
倔强的石头1067 小时前
【Linux 指南】文件系统系列(一):磁盘底层原理 —— 从物理结构到 CHS与LBA 寻址全解析
linux·运维·服务器