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

相关推荐
IT小白杨7 分钟前
从移动指纹到App隔离:TikTok Shop跨境电商账号安全管理实战
安全·新媒体运营·业界资讯·指纹浏览器
努力进修18 分钟前
Docker+cpolar 实战:打造灵活可控的远程办公系统
运维·docker·容器
其实防守也摸鱼23 分钟前
运维--怎么看接口的请求和返回
运维·学习·网络安全·网络攻击模型·burpsuite·攻防对抗·蓝队
工程管理笔记1 小时前
工程发票与资金管理系统:蓝燕云进销项发票台账功能
安全
weixin_307779131 小时前
Linux下Nginx故障系统化检查Shell脚本
linux·运维·服务器·nginx·自动化
jieyucx3 小时前
Docker 入门第一阶段:建立正确认知与初体验
运维·docker·容器
爱折腾的小黑牛4 小时前
礼账小程序的数据安全方案:加密与备份
数据库·安全
qetfw5 小时前
CentOS 7 基础环境配置
linux·运维·centos
jieyucx6 小时前
Docker 入门第二阶段:掌握日常命令
运维·docker·容器
随性而行3606 小时前
微信API接口与AI自动化:开发者的实现思路
运维·服务器·开发语言·人工智能·微信·自动化