当前位置: 首页 > news >正文

Redis常见命令

基础篇Redis

4.Redis常见命令

4.1 Redis数据结构介绍

Redis是一个key-value的数据库,key一般是String类型,不过value的类型多种多样:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

贴心小建议:命令不要死记,学会查询就好啦

Redis为了方便我们学习,将操作不同数据类型的命令也做了分组,在官网( https://redis.io/commands )可以查看到不同的命令:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

当然我们也可以通过Help命令来帮助我们去查看命令

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.2 Redis 通用命令

通用指令是部分数据类型的,都可以使用的指令,常见的有:

  • KEYS:查看符合模板的所有key
  • DEL:删除一个指定的key
  • EXISTS:判断key是否存在
  • EXPIRE:给一个key设置有效期,有效期到期时该key会被自动删除
  • TTL:查看一个KEY的剩余有效期

通过help [command] 可以查看一个命令的具体用法,例如:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

课堂代码如下

  • KEYS
127.0.0.1:6379> keys *
1) "name"
2) "age"
127.0.0.1:6379># 查询以a开头的key
127.0.0.1:6379> keys a*
1) "age"
127.0.0.1:6379>

贴心小提示:在生产环境下,不推荐使用keys 命令,因为这个命令在key过多的情况下,效率不高

  • DEL
127.0.0.1:6379> help delDEL key [key ...]summary: Delete a keysince: 1.0.0group: generic127.0.0.1:6379> del name #删除单个
(integer) 1  #成功删除1个127.0.0.1:6379> keys *
1) "age"127.0.0.1:6379> MSET k1 v1 k2 v2 k3 v3 #批量添加数据
OK127.0.0.1:6379> keys *
1) "k3"
2) "k2"
3) "k1"
4) "age"127.0.0.1:6379> del k1 k2 k3 k4
(integer) 3   #此处返回的是成功删除的key,由于redis中只有k1,k2,k3 所以只成功删除3个,最终返回
127.0.0.1:6379>127.0.0.1:6379> keys * #再查询全部的key
1) "age"	#只剩下一个了
127.0.0.1:6379>

贴心小提示:同学们在拷贝代码的时候,只需要拷贝对应的命令哦~

  • EXISTS
127.0.0.1:6379> help EXISTSEXISTS key [key ...]summary: Determine if a key existssince: 1.0.0group: generic127.0.0.1:6379> exists age
(integer) 1127.0.0.1:6379> exists name
(integer) 0
  • EXPIRE

贴心小提示:内存非常宝贵,对于一些数据,我们应当给他一些过期时间,当过期时间到了之后,他就会自动被删除~

127.0.0.1:6379> expire age 10
(integer) 1127.0.0.1:6379> ttl age
(integer) 8127.0.0.1:6379> ttl age
(integer) 6127.0.0.1:6379> ttl age
(integer) -2127.0.0.1:6379> ttl age
(integer) -2  #当这个key过期了,那么此时查询出来就是-2 127.0.0.1:6379> keys *
(empty list or set)127.0.0.1:6379> set age 10 #如果没有设置过期时间
OK127.0.0.1:6379> ttl age
(integer) -1  # ttl的返回值就是-1

相关文章:

  • 谭浩强第五版C语言课后习题(编程题)+答案
  • 优橙内推广西专场——5G网络优化(中高级)工程师
  • 【ML】类神经网络训练不起来怎么办 5
  • C语言:指针进阶
  • MySQL数据库高阶语句②
  • Golang案例开发之gopacket抓包三次握手四次分手(3)
  • C语言UNIX域套接字CS模型
  • 全局UI方法-弹窗六-自定义弹窗
  • Flask 与小程序 的图片数据交互 过程及探讨研究学习
  • 如何在群晖NAS搭建bitwarden密码管理软件并实现无公网IP远程访问
  • Install Docker
  • 【机器学习】代价函数
  • #Linux(make工具和makefile文件以及makefile语法)
  • spark: 从pulsar中读取数据
  • tcpdump 抓包
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 2019.2.20 c++ 知识梳理
  • 30天自制操作系统-2
  • egg(89)--egg之redis的发布和订阅
  • js学习笔记
  • JS字符串转数字方法总结
  • LeetCode29.两数相除 JavaScript
  • Linux中的硬链接与软链接
  • Netty 4.1 源代码学习:线程模型
  • Sequelize 中文文档 v4 - Getting started - 入门
  • 官方解决所有 npm 全局安装权限问题
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • python最赚钱的4个方向,你最心动的是哪个?
  • Semaphore
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • (6)添加vue-cookie
  • (a /b)*c的值
  • (Git) gitignore基础使用
  • (pytorch进阶之路)扩散概率模型
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (汇总)os模块以及shutil模块对文件的操作
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (七)Knockout 创建自定义绑定
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十八)三元表达式和列表解析
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .net程序集学习心得
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .NET与 java通用的3DES加密解密方法
  • /run/containerd/containerd.sock connect: connection refused
  • @synthesize和@dynamic分别有什么作用?
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • [AIGC] Spring Interceptor 拦截器详解
  • [android] 请求码和结果码的作用
  • [Android]竖直滑动选择器WheelView的实现