首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
数据库
›
Postrge-SQL
›
【Redis】Redis 常用命令明确与汇总(超全超详细+连续更 ...
返回列表
发新帖
【Redis】Redis 常用命令明确与汇总(超全超详细+连续更新)
[复制链接]
发表于 2025-8-1 16:38:39
|
显示全部楼层
|
阅读模式
目录
一、Redis 的概述
二、Redis 的用途
2.1 Redis 可以做什么?
2.2 Redis 不可以做什么?
2.3 用好 Redis 的建议
三、常见数据结构
3.1 全局命令介绍
3.2 String 字符串类型
3.2.1 常用命令
3.2.2 不常用命令
3.2.3 其他命令
3.2 Hash 类型
3.2.1 常用命令
3.3 List 类型
3.3.1 常用命令
3.4 Set 类型
3.5 SortedSet 类型
3.5.1 常用命令
一、Redis 的概述
Redis,
Remote Dictionary Server
,远程字典
服务器
,由意大利人 Salvatore Sanfilippo(又名 Antirez)开辟,是一个利用 ANSIC 语言编写、支持网络、可基于内存亦可持久化的日记型、NoSQL 开源内存
数据库
,其提供多种语言的
API
。从 2010 年 3 月 15 日起,Redis 的开辟工作由 VMware 主持。从2013 年 5 月开始,Redis 的开辟由 Pivotal 赞助。Redis 之所以称之为
字典服务
,是由于 Redis 是一个
key-value
存储
系统
。支持
存储
的 value类型很多,包括 String(字符串)、List(链表)、Set(聚集)、Zset(sorted set --有序聚集)和 Hash(哈希类型)等。
<hr>
二、Redis 的用途
2.1 Redis 可以做什么?
1. 分布式缓存
Redis 在生产中利用最多的场景就是做
数据缓存
。即客户端从 DBMS(
数据库
) 中查询出的数据起首写入到 Redis 中,后续无论哪个客户端再需要访问该数据,直接读取 Redis 中的即可,不仅减小了 RT(相应时间) ,而且低落了 DBMS 的压力。
2. 内存
存储
和持久化(
RDB
+
AOF
)
:Redis支持异步将内存中的数据写到硬盘上,同时不影响继承服务。
3. 高可用架构搭配
:单机、主从、哨兵、集群
4. 分布式锁
5. 队列:
消息队列系统可以说是一个大型网站的必备基础组件,由于其具有业务解耦、非及时业务削峰等特性。Redis提供了
发布
订阅
功能
和壅闭队列的
功能
,虽然和专业的消息队列比还不够充足强盛,但是对于一般的消息队列
功能
根本可以满足。
6. 排行榜+点赞:
排行榜系统几乎存在于全部的网站,例如按照热度排名的排行榜,按照
发布
时间的排行榜,按照各种复杂维度计算出的排行榜,Redis提供了列表和有序聚集数据结构,公道地利用这些数据结构可以很方便地构建各种排行榜系统。
7. 计数器应用:
计数器在网站中的作用至关重要,例如视频网站有播放数、电商网站有浏览数,为了包管数据的及时性,每一次播放和浏览都要做加1的操纵,假如并发量很大对于传统关系型数据的
性能
是一种挑战。Redis天然支持计数功能而且计数的
性能
也非常好,可以说是计数器系统的重要选择。
8. 交际网络:
赞/踩、粉丝、共同好友/喜好、推送、下拉刷新等是交际网站的必备功能,由于交际网站访问量通常比较大,而且传统的关系型数据不太适合生存这种类型的数据,Redis提供的数据结构可以相对比较轻易地实现这些功能。
2.2 Redis 不可以做什么?
不建议大数据量的存储:
站在数据规模的角度看,数据可以分为大规模数据和小规模数据,我们知道Redis的数据是存放在内存中的,虽然如今内存已经充足自制,但是假如数据量非常大,例如天天有几亿的用户行为数据,利用Redis来存储的话,根本上是个无底洞,经济资本相当的高。
冷数据存储的浪费
:站在数据冷热的角度看,数据分为热数据和冷数据,热数据通常是指需要频繁操纵的数据,反之为冷数据,例如对于视频网站来说,视频根本信息根本上在各个业务线都是常常要操纵的数据,而用户的观看记录不一定是常常需要访问的数据,这里暂且不讨论两者数据规模的差异,单纯站在数据冷热的角度上看,视频信息属于热数据,用户观看记录属于冷数据。假如将这些冷数据放在Redis中,根本上是对于内存的一种浪费,但是对于一些热数据可以放在Redis中加速读写,也可以减轻后端存储的
负载
,可以说是事半功倍。
2.3 用好 Redis 的建议
切勿当作黑盒利用,深入明确原理:
开辟与运维同样重要很多利用Redis的开辟者以为只要会用
API
开辟相应的功能就可以,更有甚者以为Redis就是get、set、del,不需要知道Redis的原理。但是在我们现实运维和利用Redis的过程中发现,很多线上的故障和问题都是由于完全把Redis当做黑盒造成的,假如不相识Redis的单线程模型,有些开辟者会在有上万万个键的Redis上执行keys*操纵,假如不相识持久化的相关原理,会在一个写操纵量很大的Redis上
配置
自动生存RDB。而且在很多公司内只有专职的关系型
数据库
DBA,并没有NoSQL的相关运维人员,也就是说开辟者很有大概会本身运维Redis,对于Redis的开辟者来说既是好事又是坏事。站在好的方面看,开辟人员可以通过运维Redis真正相识Redis的一些原理,不但纯停顿在开辟上。站在坏的方面看,Redis的开辟人员不仅要支持开辟,还要负担运维的责任,而且由于运维经验不足大概会造成线上故障。但是从现实经验来看,运维充足规模的Redis会对用好Redis更加有帮助。
阅读
源码
,便于定制化:
我们在前面提到过,Redis是开源项目,由于作者对Redis
代码
的极致追求,Redis的
代码
量相对于许多NoSQL数据库来说是非常小的,也就意味着作为普通的开辟和运维人员也是可以“吃透”Redis的。通过阅读良好的源码,不仅能够加深我们对于Redis的明确,而且还能提高自身的编码水平,甚至可以对Redis做定制化,也就是说可以修改Redis的源码来满足自身的需求
<hr>
三、常见数据结构
3.1 全局命令介绍
1. 查看全部键:keys * (生产环境禁用)
2. 查看键总数:dbsize
dbsize命令在计算键总数时不会遍历全部键,而是
直接获取Redis内置的键总数变量
,所以dbsize命令的时间复杂度是
O(1)
。而 keys 命令会遍历全部键,所以它的时间复杂度是O(n),当Redis生存了大量键时,线上环境禁止利用。
3. 查抄键是否存在:
exists key。返回键存在的个数,假如 k1,k2 都存在则返回 2;假如 k1 存在,k2 不存在,则返回 1;假如都不存在,返回 0。
4. 删除键:del key [...]。
返回效果为
成功删除键的个数,假设删除一个不存在的键,就会返回0
。同时del命令可以支持删除多个键。
5. 对键设置过期时间:expire key seconds
。Redis支持对键添加过期时间,当超过过期时间后,会自动删除键。
6. 查看键的剩余过期时间:ttl key
它有3种返回值:
大于等于0的整数:返回键剩余的过期时间。
-1:键没设置过期时间
-2:键不存在
7. 查看键的数据结构类型:
type key。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
回复
使用道具
举报
返回列表
浏览过的版块
鸿蒙
图数据库
数据安全
网络安全
种地
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表