Redis常用的命令、Redis-String类型常用的命令

server/2024/11/15 7:04:24/

1、数据结构的介绍:

  • String
  • Hash
  • List
  • Set
  • SortedSet
  • GEO
  • BitMap
  • HyperLog

2、Redis通用的命令 :

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

KEYS:查看复合模版的所有key,不建议在生产环境中使用

DEL:删除一个指定的key

EXISTS:判断key是否存在

EXPIRE:给一个key设置有效期,有效期到期时该key会被自动删除

TTL:查看key的剩余时间,查看一个未设置过期时间的key为-1.

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

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>//--------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

3、String类型:

String类型,也就是字符串类型,是Redis中最简单的存储类型

根据字符串的格式不同,可以分为三类:

  • string:普通字符串
  • int:整数类型,可以做自增,自减操作
  • float:浮点类型,可以做自增、自己操作

String类型常见的命令有:

  • SET:添加或者修改key对应的value
  • GET:根据key获取String类型的value
  • MSET:批量添加多个String类型的键值对
  • MGET:根据多个key获取多个String类型的value
  • INCR:让一个整型的key自增1
  • INCRBY:让一个整型的key自增并指定步长,例如:incrby num 2 让num值自增2
  • INCRBYFLOAT:让一个浮点类型的数字自增并指定步长
  • SETNX:添加一个String类型的键值对,前提是这个key不存在,否则不执行
  • SETEX:添加一个String类型的键值对,并且指定有效期

贴心小提示:以上命令除了INCRBYFLOAT 都是常用命令

  • SET 和GET: 如果key不存在则是新增,如果存在则是修改
127.0.0.1:6379> set name Rose  //原来不存在
OK
​
127.0.0.1:6379> get name 
"Rose"
​
127.0.0.1:6379> set name Jack //原来存在,就是修改
OK
​
127.0.0.1:6379> get name
"Jack"
  • MSET和MGET
127.0.0.1:6379> MSET k1 v1 k2 v2 k3 v3
OK
​
127.0.0.1:6379> MGET name age k1 k2 k3
1) "Jack" //之前存在的name
2) "10"   //之前存在的age
3) "v1"
4) "v2"
5) "v3"
  • INCR和INCRBY和DECY
127.0.0.1:6379> get age 
"10"
​
127.0.0.1:6379> incr age //增加1
(integer) 11127.0.0.1:6379> get age //获得age
"11"
​
127.0.0.1:6379> incrby age 2 //一次增加2
(integer) 13 //返回目前的age的值127.0.0.1:6379> incrby age 2
(integer) 15127.0.0.1:6379> incrby age -1 //也可以增加负数,相当于减
(integer) 14127.0.0.1:6379> incrby age -2 //一次减少2个
(integer) 12127.0.0.1:6379> DECR age //相当于 incr 负数,减少正常用法
(integer) 11127.0.0.1:6379> get age 
"11"
​
  • SETNX
127.0.0.1:6379> help setnx
​SETNX key valuesummary: Set the value of a key, only if the key does not existsince: 1.0.0group: string
​
127.0.0.1:6379> set name Jack  //设置名称
OK
127.0.0.1:6379> setnx name lisi //如果key不存在,则添加成功
(integer) 0
127.0.0.1:6379> get name //由于name已经存在,所以lisi的操作失败
"Jack"
127.0.0.1:6379> setnx name2 lisi //name2 不存在,所以操作成功
(integer) 1
127.0.0.1:6379> get name2 
"lisi"
  • SETEX
127.0.0.1:6379> setex name 10 jack
OK
​
127.0.0.1:6379> ttl name
(integer) 8
​
127.0.0.1:6379> ttl name
(integer) 7
​
127.0.0.1:6379> ttl name
(integer) 5

http://www.ppmy.cn/server/100104.html

相关文章

vulnstack-5

环境搭建 靶场虚拟机共用两个,一个外网一个内网,用来练习红队相关内容和方向,主要包括常规信息收集、Web攻防、代码审计、漏洞利用、内网渗透以及域渗透等相关内容学习。 虚拟机密码 win7 sun\heart 123.com sun\Administrator dc123.com # …

分类预测|基于灰狼优化最小二乘支持向量机结合Adaboost集成的数据分类预测Matlab程序GWO-LSSVM-Adaboost

分类预测|基于灰狼优化最小二乘支持向量机结合Adaboost集成的数据分类预测Matlab程序GWO-LSSVM-Adaboost 文章目录 前言分类预测|基于灰狼优化最小二乘支持向量机结合Adaboost集成的数据分类预测Matlab程序GWO-LSSVM-Adaboost 一、GWO-LSSVM-Adaboost模型1. Grey Wolf Optimize…

【智能流体力学】ANSYS Fluent流体仿真基础深度学习驱动的前期准备:CAX计算机辅助集成技术

目录 一、CAX计算机辅助集成技术二、计算机辅助工程(CAE)三、SCDM (Species Concentration Display Model) 显示和分析物质浓度分布的模型1. **SCDM概述**2. **主要功能**3. **功能特点**4. **使用步骤**5. **应用实例**6. **优点与限制**四、行业应用五、Fluent 软件功能1. …

先进制造aps专题二十四 云平台排产aps的方案设计

云平台排产aps的方案设计 针对对象是有排产需求无需定制的中小型工厂企业 一 网站功能(b/s架构) 1 前端界面 客户登录 排产项目管理 基础数据(产品资料,产品工艺,工作日历,生产资源,工艺能力…

推荐一个根据后台提供的接口json文件自动生成前端调用接口的插件typescript

openapi-typescript-codegen 会为每个接口生成调用的方法,一般都是用一个接口手动添加一个接口方法在前端代码里,用了这个插件页面直接导入它生成的方法进行使用,里面也包含请求拦截器和响应拦截器的封装,可以不用手动封装这部分…

从MySQL到Elasticsearch:创建酒店索引案例

在现代的数据管理中,Elasticsearch(简称ES)因其强大的搜索功能和灵活的索引结构而受到广泛欢迎。本篇博客将介绍如何根据MySQL数据库中的酒店表定义,创建一个相应的Elasticsearch索引。 MySQL与Elasticsearch的对比 在开始之前&…

Qt | QGraphicsView+QGraphicsScene+QGraphicsItem会跳舞的机器人

点击上方"蓝字"关注我们 01、GraphicsView GraphicsView 是 Qt 框架中的一个重要组件,用于显示和交互 2D 图形项(QGraphicsItem)。它提供了一个高级的、可缩放的视图,适用于需要复杂图形交互的应用程序,如图形编辑器、地图查看器等。 以下是一些关于 Graphics…

【Rust光年纪】数据库客户端大赏:Rust语言六款利器全面解析

探秘Rust数据库客户端:功能对比、使用场景剖析、快速上手指南 前言 在现代软件开发中,数据库操作是一个至关重要的领域。为了提高效率并简化开发人员的工作,许多编程语言都提供了各种数据库客户端和ORM工具。Rust语言作为一门快速、安全的系…