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

相关推荐
XIAOHEZIcode10 小时前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220701 天前
如何搭建本地yum源(上)
运维
ping某2 天前
为什么 Nginx 明明监听了 80,转发后端时却用了 4xxxx 端口?
后端·nginx
Aphasia3112 天前
VPN 与内网穿透
安全
Mr_愚人派3 天前
当"Claude"不再是 Claude:一次第三方 API 代理引发的 AI 身份伪造排查实录
人工智能·安全
大树884 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质4 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
DaLi Yao4 天前
【无标题】
人工智能·安全
Inhand陈工4 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信