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

Redis常用命令及数据类型参数

1. 针对于string

SET key value / GET key

SET k1 v1
GET k1     // v1

String是二进制安全的,是可变长度的, 底层类似于ArrayList 是可扩容的,最大存储内存为 512MB。



2. 判断key中是否存在某个内容

EXISTS key

SET k1 v1
EXISTS k1  // 1

1 表示存在,0表示不存在



3. 删除某个key

3.1 DEL (若过大数据量可能出现阻塞队列)

SET k1 v1
DEL k1  //1

删除成功返回1,反之0


3.2 UNLINK(非阻塞性删除)

UNLINK key

SET k1 v1
UNLINK k1  // 1

删除成功返回1,反之0



4. 关于key是否到期

4.1 TTL 来查询key是否到期

TTL key

SET k1 v1
TTL k1   // -1

-1 代表永不过期,-2代表已经过期,其他数字代表正在倒计时。默认都是永不过期。


4.2 EXPIRE 来定义key过期时间

EXPIRE key timeNumber

SET k1 v1
EXPIRE k1 40   // 单位是秒
TTL k1   // 40
TTL k1   // 39
TTL k1   // 38
.....
TTL k1   // -2


5. KEYS * 获取目前创建的所有key

KEYS *

SET k1 v1;
SET k2 v2;
KEYS *    // 1) "k2"// 2) "k1"


6. 数据库的移动

Redis 出厂自带16个db库,对应下标是 0 - 15

6.1 SELECT [0-15] 切换到指定的数据库

SELECT 1   // 移动到索引为1的数据库

6.2 MOVE key [0-15] 将当前的key移动到指定的数据库中

SET k1 v1
MOVE k1 2 // 将k1移动到索引为2的数据库中


7.DBSIZE 获取当前库中有多少key

SET k1 v1
DBSIZE  // 1


8. 清空库

8.1 FLUSHDB 清空当前库

FLUSHDB

8.2 FLUSHALL 通杀所有库

FLUSHALL


9. 数据类型的命令操作

9.1 永远的帮助命令,HELP

HELP@[数据类型]

9.2 Redis 字符串(String)

特点: 单值,单Value
在这里插入图片描述

9.2.1 NX参数 Key不存在的时候进行创建

SET k1 v1 NX
GET k1 // v1
SET k1 v1 NX   // 已经存在
// 输出(nil)

9.2.2 XX参数 Key存在时进行创建

SET k2 v2 XX   // 此时db里是没有存在k2的
// (nil)
SET k2 v2
SET k2 v2 XX  // 可以成功创建,value的值进行覆盖

9.2.3 GET 参数 返回原有的vealu。

SET k1 v1;
SET k1 v2 GET; // v1
GET k1; // v2

还可以直接使用GETSET来进行更该且返回值

SET k1 v1;
GETSET k1 v2; // v1
GET k1; // v2

9.2.4 EX, PX 设置过期时间

这个很简单。在后面跟随即可

SET k1 v1 EX 10;   // 十秒后过期
SET k1 v1 PX 10000; // 一万毫秒后过期

9.2.5 EXAT 设置UNIX时间戳 单位秒

在Java中获取UNIX时间戳。

  • Long.toString(System.curretTimeMillis() / 1000L);
SET k1 v1 EXAT xxxxx;

PXAT 是毫秒。把 /1000去掉即是毫秒。用法不变。


9.2.6 KEEPTTL 保留生存时间

SET k1 v1 EX 30;   // 三十秒后过期
SET k1 v2;  // 一旦这样做,重新赋值,则ttl = -1; 永不过期
TTL k1;    // -1 
// 所以应该在修改value的时候,后面加上KEEPLTTL保留生存时间
SET k2 v2 EX 30;
SET k2 v3 KEEPTTL;

9.2.7 批量 MSET,MGET,MSETNX

批量添加和批量获取键值对,很简单。

// 批量添加
MSET k1 v1 k2 v2 k3 v3 k4 v4;
// 批量获取
MGET k1 k2 k3 k4;
// MSETNX 就是不存在的时候在进行创建
MSETNX k5 v5 k6 v6 k7 v7;

但是需要注意的是 MSETNX是整体性的,具有原子性的。如果存在k1,不存在k4,那么整体来说都是存在的,则都不会创建。要么全部不存在,进行创建,要么不创建


9.2.8 GETRANGE,SETRANGE截取和精确设置(覆盖)

GETRANGE key statrIndex stopIndex
很容易理解

SET k1 abcdefg1234567;
GETRANGE k1 0 -1;  // abcdefg1234567

如果后面跟的参数是 0 到 -1 则表示获取全部的内容,下标从0开始,到全部数量 - 1 结束。

SET k1 abcdefg1234567;
GETRANGE k1 0 - 3;  // abcd

SETRANGE key index value;

SET k1 aaaaaaaaaa;
SETRANGE k1 2 bbbb;
GET k1;  // aabbbbaaaa

相关文章:

Redis常用命令及数据类型参数

1. 针对于string SET key value / GET key SET k1 v1 GET k1 // v1String是二进制安全的,是可变长度的, 底层类似于ArrayList 是可扩容的,最大存储内存为 512MB。 2. 判断key中是否存在某个内容 EXISTS key SET k1 v1 EXISTS k1 // …...

(七十四)大白话深入探索多表关联的SQL语句到底是如何执行的?(2)

今天咱们就以MySQL单表查询来举例,看看执行计划到底包含哪些内容 其实只要大家跟着专栏一步一步的学习下来,会很轻松的看懂执行计划,但是如果你之前对什么数据页,索引,索引使用规则,这些东西学的不扎实&am…...

销售使用CRM系统集成Excel的五个技巧

销售过程中有很多情况会降低团队的效率。通过正确的实施CRM客户管理系统,可以帮助您的企业自动执行手动任务、减少错误并专注于完成交易。这里有5个技巧,可以帮助您的销售人员通过CRM集成Excel为销售流程赋能并提高他们的整体效率。 技巧1:将…...

过来人告诉你:Java学到什么程度可以找工作?

大部分初次学习Java的同学都非常关注自己学到什么程度可以找工作就业,因为学习的目的一方面在于掌握知识、提高技能,另一方面就是就业谋生。今天笔者就来跟大家聊一聊一下Java学习到什么地步可以面试找工作。任何企业,不论大小,对…...

【Linux】目录结构

Linux世界里,一切皆文件。 /bin:是Binary的缩写,这个目录存放着最经常使用的命令。(常用) /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。 /home:存放普…...

37.Java进阶之实现动态编译

文章目录1. 作为程序员的最高追求2.如何实现动态编译2.1 生成源码2.2 调用编译器API对Test源码文件进行编译生成字节码2.3 调用类加载器对字节码进行加载得到Class对象2.4 使用Class对象创建对象进行使用3. Java编译API学习4. 类加载机制4.1 类加载过程4.2 类加载器的层次结构4…...

【Python百日进阶-Web开发-Vue3】Day549 - Vue3 商城后台 09:Veux4-01基本概念

文章目录 一、Vuex是什么?1.1 Vuex官网1.2 Vuex安装1.3 Vuex概述1.4 核心概念二、Vuex的基本使用2.1 简单使用2.1.1 `src/store/index.js`创建store并导出2.1.2 `main.js`中引入并`use(store)`2.1.3 `src/views/index.vue`首页中使用store2.2 使用`mapState`简化 `$store.stat…...

GitLab 解析:为什么市场正在转向一体化 DevSecOps 平台?(附Forrester完整报告下载)

本文来源:about.gitlab.com 译者:极狐(GitLab) 市场部内容团队 如 GitLab 预测:2023 年企业会将更多的时间和资源投入到持续的安全左移上(详情请戳👉:重磅!GitLab 提出五大预测,洞见…...

ThreadLocal的内部结构和源码探究

目录一. ThreadLocal的内部结构1 常见的误解2 现在的设计3 这样设计的好处二. ThreadLocal的核心方法源码1 set方法2 get方法3 remove方法**4 initialValue方法**三. ThreadLocalMap源码分析1 基本结构2 弱引用和内存泄漏3 hash冲突的解决一. ThreadLocal的内部结构 ​ 通过之…...

Linux文件系统(下)

逻辑卷管理如果用标准分区在硬盘上创建了文件系统,为已有文件系统添加额外的空间多少是一种痛苦的体验。你只能在同一个物理硬盘的可用空间范围内调整分区大小。如果硬盘上没有地方了,你就必须弄一个更大的硬盘,然后手动将已有的文件系统移动…...

合并链表相关的练习

目录 一、合并两个有序链表 二、两数相加 一、合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4] 示例 2&…...

FFmpeg介绍及入门知识

1、简介 FFmpeg是一套由c语言编写的,可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,自身采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案,包含了非常先进的音频/视频编解码库libavcodec&#xf…...

ASA材料3D打印服务 抗紫外线材料3D打印服务 抗紫外线模型制作-CASAIM中科院广州电子

3D打印技术又称增材制造,通常是采用数字技术材料打印机来实现的,常在模具制造、工业设计等领域被用于制造模型,后逐渐用于一些产品的直接制造。随着 3D 打印逐渐成为主流生产流程的一部分,ASA抗紫外线材料应运而生。中科院广州电子…...

MySQL workbench数据表和数据结构

数据表和数据结构的关系 数据表 学号姓名位置26002351李晓丽126002589张明伟226003214李雪冬326002132汪涵426006541邱明罕526003654李丽6 怎样去描述上面的数据表,用【数据表结构】表示 表头字段名字段类型位数备注学号xuehao整数/字符8 姓名xingming字符4 座…...

网络与信息安全岗位介绍—售后工程师

售后工程师是提供客户技术支持和服务的专业人士。他们的任务是提供客户技术支持,安装、维护和修复系统或产品,遵从安全操作规范,排除计算机故障,以及解决其他技术疑难杂症。 售后工程师还管理、安装、升级和维护现有硬件和软件&a…...

Nowcoder .链表分割

文章目录哨兵位节点哨兵位节点 链表分割 小于X 尾插到一个新链表 大于等于X 尾插到另一个链表 最后将两个链表链接起来 需要注意的细节:将第一个链表的尾与第二个链表的头相连接,再返回连接后的整个链表的头(哨兵位头节点的下一个&#xff0…...

猿创征文 | re:Invent 朝圣之路:“云“行业风向标

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! AWS 亚马逊云科技re:Invent全球大会 2022年亚马逊云科技re:Invent全球大会震撼来袭,即将于北京时间11月30日-12月2日在美国内华达州,拉斯维加斯…...

mysql的distinct和group by的区别

GROUP BY 和 DISTINCT 都是用于从数据库中选择唯一值的 SQL 子句。它们之间的主要区别在于它们的作用方式和应用场景。 GROUP BY 语句用于将数据按照一个或多个列进行分组,然后对每个组应用一个聚合函数(如 COUNT、SUM、AVG 等)以得到每个组…...

Web前端:前端开发人员的职责有哪些?

前端开发,就是要创造上面提到的网站面向用户的部分背后的代码,并通过建立框架,构建沉浸性的用户体验。前端工程师还需要确保网站在各种浏览器和设备上都能正常运行,并且能够根据用户需求不断优化和改进网站。前端开发人员的角色和…...

BatchNorm1d的复现以及对参数num_features的理解

0. Intro 以pytorch为例,BatchNorm1d的参数num_features涉及了对什么数据进行处理,但是我总是记不住,写个blog帮助自己理解QAQ 1. 复现nn.BatchNorm1d(num_features1) 假设有一个input tensor: input torch.tensor([[[1.,2.,…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

条件运算符

C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...

Robots.txt 文件

什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

GitHub 趋势日报 (2025年06月06日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...

基于鸿蒙(HarmonyOS5)的打车小程序

1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...

图解JavaScript原型:原型链及其分析 | JavaScript图解

​​ 忽略该图的细节(如内存地址值没有用二进制) 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么:保存在堆中一块区域,同时在栈中有一块区域保存其在堆中的地址(也就是我们通常说的该变量指向谁&…...