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

相关推荐
夫子樊2 小时前
资损防控与安全生产
安全
星幻元宇VR2 小时前
VR星际行走平台|沉浸式科普教育与未来体验的新入口
科技·学习·安全·生活·vr
小夏子_riotous2 小时前
Docker学习路径——1、简介
linux·运维·服务器·docker·容器·云计算
航Hang*3 小时前
Windows Server 配置与管理——第9章:配置DHCP服务器
运维·服务器·windows·学习
walkerLing3 小时前
Docker Day2
运维·docker·容器
feixiangyuncai3 小时前
数字生态系统赋能供水安全与可持续发展
安全·智慧城市
乾元3 小时前
《硅基之盾》番外篇四:极客时刻——从零手搓一个 AI 自动化渗透智能体(附源码架构)
运维·网络·人工智能·安全·机器学习·架构·安全架构
驱动小百科3 小时前
如何连接共享打印机 4种方法一步到位
运维·服务器·共享打印机怎么连接·连接共享打印机方法·打印机共享设置·打印机连接教程
乾元3 小时前
《硅基之盾》番外篇三:无形的捕网——AI 驱动的无线电信号情报(SIGINT)与硬件对抗
网络·人工智能·安全·机器学习·网络安全·安全架构