redis的基本命令

数据库相关操作

Redis默认 16 个数据库,默认使⽤第 0个
select 0 # 切换数据库
dbsize # 查看数据库⼤⼩
flushall # 清除全部库数据
flushdb # 清空当前库数据

key相关的操作

keys * # 查看所有的key
exists key  判断当前key 是否存在。
 expire key seconds  # 设置 key的过期时间,超过时间后,将会⾃动删除该key ,单位是秒。 ( 热点数据 )
ttl key  #  返回 key 剩余的过期时间。 这种反射能⼒允许 Redis 客户端检查指定 key在数据集⾥⾯剩余的有效期。
--如果 key 不存在或者已过期,返回 -2
--如果 key 存在并且没有设置过期时间(永久有效),返回 -1
Move key db #  将当前数据库的 key 移动到给定的数据库 db 当中。如果当前数据 库( 源数据库 ) 和给定数据库 ( ⽬标数据库 ) 有相同名字的给定 key ,或者 key 不存 在于当前数据库,那么 MOVE 没有任何效果。
TYPE key 回 key 所存储的 value 的数据结构类型。
DEL key   删除指定的⼀批keys ,如果删除中的某些 key 不存在,则直接忽略

String类型相关命令

SET :添加或者修改已经存在的⼀个 String 类型的键值对(如果 key 不存在则是新增,如果存在则是修改)
GET :根据 key 获取 String 类型的 value
GETSET :先获取在设置,如果 get 时值不存在返回空,然后在进⾏设置,如果 get时值存在,返回对应的值,在进⾏修改
APPEND Append 命令⽤于为指定的 key 追加值,如果 key 已经存在并且是⼀个 字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执⾏ SET key value ⼀样。
MSET :批量添加多个 String 类型的键值对
如:mset name1 xiaoming name2 xiaohong # 批量设置
MGET :根据多个 key 获取多个 String 类型的 value
如:mget name1 name2
MSETNX : 命令⽤于所有给定 key 都不存在时,同时设置⼀个或多个 key-value 对。(原⼦性操作)
INCR :命令将 key 中储存的数字值增⼀。如果 key 不存在,那么 key 的值会先被 初始化为 0 ,然后再执⾏ INCR 操作。如果值包含错误的类型,或字符串类型的 值不能表示为数字,那么返回⼀个错误。本操作的值限制在 64 (bit)有符号数字表示之内。
INCRBY: 让⼀个整型的值⾃增并指定步⻓(例如: num 5 num 值⾃增 5 ,其余与上⽅⼀致)
DECR :命令将 key 中储存的数字值减⼀(与 INCR 命令相反,其余⼀致)。
DECRBY : 命令将 key 所储存的值减去指定的减量值(与 INCRBY 相反,其余⼀致)。
SETNX :添加⼀个 String 类型的键值对,前提是这个 key 不存在,否则不执⾏
(与 MSETNX 区别在于,此命令只能设置⼀组 key:value
SETEX :命令为指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX
令将会替换旧的值

list类型相关命令

LPUSH key value1 value2 将⼀个或多个值插⼊到列表头部(左侧)
LRANGE key start stop 获取列表指定范围内的元素,根据下标
RPUSH key value1 value2 在列表中(右侧)添加⼀个或多个值
LPOP key 移除并获取列表的第⼀个元素
RPOP key 移除并获取列表最后⼀个元素
LINDEX key index 通过索引获取列表中的元素
LLEN key 获取列表⻓度
LREM key count value 移除列表元素(可以移除多个重复的值)
LTRIM key start stop 对⼀个列表进⾏修剪 (trim) ,就是说,通过下标让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
RPOPLPUSH source destination 移除列表的最后⼀个元素,并将该元素添加到另⼀个列表并返回
EXISTS 也可以判断列表中是否有值( exists list
LSET key index value 通过索引设置列表元素的值(需要保证现有列表和下标存在,⼀般作为更新操作)
LINSERT key BEFORE|AFTER pivot value 在列表的元素前或者后插⼊元素
BLPOP key1 key2 timeout 移出并获取列表的第⼀个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为⽌。
BRPOP key1 key2 timeout 移出并获取列表的最后⼀个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为⽌。

set类型相关命令

SADD key member1 [member2] 向集合添加⼀个或多个成员
SMEMBERS key 返回集合中的所有成员
SISMEMBER key member 判断 member 元素是否是集合 key 的成员
SCARD key 获取集合的成员数
SREM key member1 [member2] 移除集合中⼀个或多个成员
SRANDMEMBER key [count] 返回集合中⼀个或多个随机数
SPOP key 移除并返回集合中的⼀个随机元素 ( 原⼦操作,多个客户端并发访问时,每个返回的元素都是唯⼀的)
SMOVE source destination member member 元素从 source 集合移动到destination 集合
SDIFF key1 key2 返回给定所有集合的差集(两个 set 中不同的值,⽬前以 key1 为参照为)
SINTER key1 key2 返回给定所有集合的交集(两个 set 中相同的值)
SUNION key1 key2 返回所有给定集合的并集 (两个 set 中所有的值,重复的只有⼀个)
SDIFFSTORE destination key1 key2 返回给定所有集合的差集并存储在destination 中
SINTERSTORE destination key1 key2 返回给定所有集合的交集并存储在destination 中
SUNIONSTORE destination key1 key2 所有给定集合的并集存储在 destination 集合中

Hash类型相关命令

HSET key field1 value1 field2 value2 同时将多个 field-value ( - ) 对设置到哈希表 key
HGET key field 获取存储在哈希表中指定字段的值
HMGET key field1 field2 获取所有给定字段的值
HGETALL key 获取在哈希表中指定 key 的所有字段和值
HDEL key field2 field2 删除⼀个或多个哈希表字段
HLEN key 获取哈希表中字段的数量
HKEYS key 获取所有哈希表中的字段
HVALS key 获取哈希表中所有值
HEXISTS key field 查看哈希表 key 中,指定的字段是否存在
HINCRBY key field increment 为哈希表 key 中的指定字段的整数值加上增量increment(如果是负数,就是减量) 
HSETNX key field value 只有在字段 field 不存在时,设置哈希表字段的值(原⼦性操作)

zset类型相关命令

ZADD key score member [score member ...] 向有序集合添加⼀个或多个成员,或者更新已存在成员的分数
ZRANGE key start stop [WITHSCORES] 通过索引区间返回有序集合指定区间内的成员。成员按分数值递增( 从⼩到⼤ ) 来排列。
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] 通过分数返回有序集合指定区间内的成员( 分数可以采⽤正负⽆穷⼤ -inf +inf)
ZREM key member 从有序集合中删除⼀个成员。
ZCARD key 返回有序集合的成员数量
ZCOUNT key min max 返回有序集合中分数在给定范围内的成员数量。
ZSCORE key member 返回有序集合中指定成员的分数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/841551.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#屏蔽基类成员

可以用与积累成员名称相同的成员来屏蔽 要让编译器知道你在故意屏蔽继承的成员,可以用new修饰符。否则程序可以成功编译,但是编译器会警告你隐藏了一个继承的成员 using System;class someClass {public string F1 "Someclass F1";public v…

React18+TypeScript搭建通用中后台项目实战04 封装常用工具函数

接口请求参数类型 修改 src/api/request.ts 核心代码&#xff1a; // GET 请求 // param url 请求地址 // param params 查询参数 // return 返回Promise对象&#xff0c;内部类型是泛型 function get<T>(url: string, params: object): Promise<T> {return req…

YOLOv10 | 手把手教你利用yolov10训练自己数据集(含环境搭建 + 参数解析 + 数据集查找 + 模型训练、推理、导出)

一、前言 本文内含YOLOv10网络结构图 各个创新模块手撕结构图 训练教程 推理教程 参数解析 环境搭建 数据集获取等一些有关YOLOv10的内容&#xff01; 目录 一、 前言 二、整体网络结构图 三、空间-通道分离下采样 3.1 SCDown介绍 3.2 C2fUIB介绍 3.3 PSA介绍 …

微服务下认证授权框架的探讨

前言 市面上关于认证授权的框架已经比较丰富了,大都是关于单体应用的认证授权,在分布式架构下,使用比较多的方案是--<应用网关>,网关里集中认证,将认证通过的请求再转发给代理的服务,这种中心化的方式并不适用于微服务,这里讨论另一种方案--<认证中心>,利用jwt去中…

【数据库基础-mysql详解之索引的魅力(N叉树)】

索引的魅力目录 &#x1f308;索引的概念&#x1f308;使用场景&#x1f308;索引的使用&#x1f31e;&#x1f31e;&#x1f31e;查看MySQL中的默认索引&#x1f31e;&#x1f31e;&#x1f31e;创建索引&#x1f31e;&#x1f31e;&#x1f31e;删除索引 站在索引背后的那个男…

sheng的学习笔记-docker部署Greenplum

目录 docker安装gp数据库 mac版本 搭建gp数据库 连接数据库 windows版本 搭建gp数据库 连接数据库 docker安装gp数据库 mac版本 搭建gp数据库 打开终端&#xff0c;输入代码&#xff0c;查看版本 ocker search greenplum docker pull projectairws/greenplum docker…

Virtual Box安装Ubuntu及设置

Virtual Box安装Ubuntu及设置 本文包含以下内容&#xff1a; 使用Virtual Box安装Ubuntu Desktop。设置虚拟机中的Ubuntu&#xff0c;使之可访问互联网并可通过SSH访问。 Ubuntu Desktop下载 从官网下载&#xff0c;地址为&#xff1a;Download Ubuntu Desktop | Ubuntu U…

HTTP交互导致ECONNABORTED的原因之一

背景&#xff1a; 本次记录的&#xff0c;是一次使用HTTP交互过程中遇到的问题&#xff0c;问题不大&#xff0c;就是给题目上这个报错补充一种可能的解决方案。 程序大致流程&#xff1a; 1. 设备向服务器A请求信息 2. 拿到回复记录下回复内容中的数据包下载地址等信息 3…

games 101 作业4

games 101 作业4 题目题解作业答案 题目 Bzier 曲线是一种用于计算机图形学的参数曲线。在本次作业中&#xff0c;你需要实 现 de Casteljau 算法来绘制由 4 个控制点表示的 Bzier 曲线 (当你正确实现该 算法时&#xff0c;你可以支持绘制由更多点来控制的 Bzier 曲线)。 你需…

IntelliJ IDEA实用插件:轻松生成时序图和类图

IntelliJ IDEA生成时序图、类图 一、SequenceDiagram1.1 插件安装1.2 插件设置1.3 生成时序图 二、PlantUML Integration2.1 插件安装2.2 插件设置2.3 生成类图 在软件建模课程的学习中&#xff0c;大家学习过多种图形表示方法&#xff0c;这些图形主要用于软件产品设计。在传统…

解释Python中的多线程和多进程编程

在Python中&#xff0c;多线程&#xff08;Multithreading&#xff09;和多进程&#xff08;Multiprocessing&#xff09;是两种常见的并发编程技术&#xff0c;用于同时执行多个任务。然而&#xff0c;由于Python的全局解释器锁&#xff08;GIL&#xff0c;Global Interpreter…

C++实现定长内存池

项目介绍 本项目实现的是一个高并发的内存池&#xff0c;它的原型是Google的一个开源项目tcmalloc&#xff0c;tcmalloc全称Thread-Caching Malloc&#xff0c;即线程缓存的malloc&#xff0c;实现了高效的多线程内存管理&#xff0c;用于替换系统的内存分配相关函数malloc和fr…

文件压缩下载

工具类FileUtil import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import java.io.File; import java.io.FileInputStream; import java.io.OutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream;/*** 文件工具类** author: 张…

Java面向对象知识总结+思维导图

&#x1f516;面向对象 &#x1f4d6; Java作为面向对象的编程语言&#xff0c;我们首先必须要了解类和对象的概念&#xff0c;本章的所有内容和知识都是围绕类和对象展开的&#xff01; ▐ 思维导图1 ▐ 类和对象的概念 • 简单来说&#xff0c;类就是对具有相同特征的一类事…

一篇文章学明白go语言,你想知道是那篇文章吗?

一篇文章彻底搞明白go语言&#xff0c; 你没有看错就是一篇文章可以让你彻底搞明白go语言&#xff0c;这篇文章就是go语言官方的 The Go Programming Language Specification &#xff0c; 你把这个搞明白&#xff0c;go语言也就明白了。 文章地址https://go.dev/ref/spec 这篇…

spring自定义初始化的加载顺序

构造函数>PostConstruct > afterPropertiesSet > init-method

MySQL——表内容的CURD操作

MySQL表内容的CURD ​ 与表内容相关的操作共有四种类型&#xff1a;Create(创建)&#xff0c;Retrieve(读取)&#xff0c;Update(更新)&#xff0c;Delete(删除)&#xff1b; 一、Create 1.1单行插入多行插入全列插入/指定列插入 #全列插入&#xff0c;忽略列属性&#xff…

【Spring】认识 IoC 容器和 Servlet 容器

认识 IoC 容器和 Servlet 容器 1.认识容器1.1 IoC 容器1.2 loC 的实现方法1.2.1 依赖注入1.2.2 依赖查找 1.3 认识 Servlet 容器 2.用 IoC 管理 Bean2.1 创建一个 Bean2.2 编写 User 的配置类2.3 编写测试类 3.用 Servlet 处理请求3.1 注册 Servlet 类3.2 开启 Servlet 支持 1.…

力扣:1738. 找出第 K 大的异或坐标值

1738. 找出第 K 大的异或坐标值 给你一个二维矩阵 matrix 和一个整数 k &#xff0c;矩阵大小为 m x n 由非负整数组成。 矩阵中坐标 (a, b) 的 值 可由对所有满足 0 < i < a < m 且 0 < j < b < n 的元素 matrix[i][j]&#xff08;下标从 0 开始计数&…

线程间通信和进程间通信

线程间通信 #include <iostream> #include <thread> #include <queue> #include <mutex> #include <condition_variable> #include <chrono>// 全局变量 std::queue<int> data_queue; std::mutex mtx; std::condition_variable cv_…