深入redis过程-命令

目录

通用命令

get

set

keys

exists

del

expire key seconds

ttl

type

常用数据结构

String类型

SET

GET

MSET

MGET

INCR

INCRBY

INCRBYFLOAT

SETNX

SETEX

Hash类型

HSET key field value

HGET key field

HMSET

HMGET

HGETALL

HKEYS

HVALS

HINCRBY

HSETNX

List类型

LPUSH Key element...

LPOP Key

RPUSH Key element...

RPOP Key

LRANGE key star end

BLPOP和BRPOP

Set类型

SADD Key member...

SREM Key member...

SCARD key

SISMEMBER key member

SMEMBERS

SINTER key1 key2...

SDIFF key1 key2...

SUNION key1 key2...

ZSet类型

ZADD key score member

ZREM key member

ZSCORE key member

ZRANK key member

ZCARD key

ZCOUNT key min max

ZINCRBY key increment member

ZRANGE key min max

ZRANGEBYSCORE key min max

ZDIFF、ZINTER、ZUNION

数据库管理命令

dbsize

select

flushdb

flushall


Redis是一个Key-value的数据库,Key一般是String类型,value的类型多种多样

通用命令

通用指令是部分数据类型的,都可以使用的指令,可以通过help [command]可以查看一个命令的具体用法

get

根据key获取String类型的value

set

添加或修改一个String类型的键值对,如果key存在就修改key对应的value,如果不存在就插入key value

keys

查找所有的key

exists

判断一个key是否存在,存在返回1,不存在返回0

del

删除key,后面可以指定删除多个key,如果不存在指定删除的key不会删掉

expire key seconds

给一个key设置有效期

ttl

查看以一个key的剩余有效期(有效期为-2 代表已经被删除了,为-1 代表永久保存)

type

返回key对应的数据类型

常用数据结构

Redis提供了一些数据结构供我们往Redis中存取数据,最常用的的有5种:字符串(String)、哈希(Hash)、列表(list)、集合(set)、有序集合(ZSET)

String类型

String类型,也就是字符串类型,是Redis中最简单的存储类型。其value是字符串,不过根据字符串的格式不同,又可以分为3类:

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

SET

添加或者修改已经存在的一个String类型的键值对

GET

根据key获取String类型的value

MSET

批量添加多个string类型的键值对

MGET

根据多个key获取多个String类型的value

INCR

让一个整型的key自增1

INCRBY

让一个整型的key自增并指定步长

INCRBYFLOAT

让一个浮点类型的数字自增并指定步长

SETNX

添加一个String类型的键值对,前提是这个key不存在,否则不执行

SETEX

添加一个String类型的键值对,并且指定有效期

Hash类型

Hash类型,也叫散列,其value是一个无序字典,类似于java中的HashMap结构。Hash结构可以将对象中的每个字段独立存储,可以针对单个字段做CRUD

HSET key field value

添加或者修改hash类型key的field的值

HGET key field

获取一个hash类型key的field的值

HMSET

批量添加多个hash类型key的field的值

HMGET

批量获取多个hash类型key的field的值

HGETALL

获取一个hash类型的key中的所有的field和value

HKEYS

获取一个hash类型的key中的所有的field

HVALS

获取一个hash类型的key中的所有的value

HINCRBY

让一个hash类型key的字段值自增并指定步长

HSETNX

添加一个hash类型的key的field值,前提是这个field不存在,否则不执行

List类型

Redis中的List类型与java中的LinkedList类似,也可以看做是一个双向链表结构

LPUSH Key element...

向列表左侧插入一个或多个元素

LPOP Key

移除并返回列表左侧的第一个元素,没有则返回nil

RPUSH Key element...

向列表右侧插入一个或多个元素

RPOP Key

移除并返回列表右侧的第一个元素

LRANGE key star end

返回一段角标范围内的所有元素

BLPOP和BRPOP

与LPOP和RPOP类似,只不过在没有元素时等待指定时间,而不是直接返回nil

Set类型

Redis的Set结构与java中的HashSet类似,可以看做是一个value为null的HashMap

SADD Key member...

向set中添加一个或多个元素

SREM Key member...

移除set中的指定元素

SCARD key

返回set中元素的个数

SISMEMBER key member

判断一个元素是否存在于set中

SMEMBERS

获取set中的所有元素

SINTER key1 key2...

求key1与key2的交集

SDIFF key1 key2...

求key1与key2的差集

SUNION key1 key2...

求key1与key2的并集

ZSet类型

Redis的ZSet是一个可排序的set集合,与java中的TreeSet有些类似,但底层数据结构却差别很大。ZSet中的每一个元素都带有一个score属性,可以基于score属性对元素排序,底层的实现是一个跳表(SkipList)加hash表。

ZADD key score member

添加一个或多个元素到zset,如果已经存在则更新其score值

ZREM key member

删除zset中的一个指定元素

ZSCORE key member

获取zset中的指定元素的score值

ZRANK key member

获取zset中的指定元素的排名

ZCARD key

获取zset中的元素个数

ZCOUNT key min max

统计score值在给定范围内的所有元素的个数

ZINCRBY key increment member

让zset中的指定元素自增,步长为指定的increment值

ZRANGE key min max

按照score排序后,获取指定排名范围内的元素

ZRANGEBYSCORE key min max

按照score排序后,获取指定score范围内的元素

ZDIFF、ZINTER、ZUNION

求差集、交集、并集

数据库管理命令

redis数据库为固定的,有0~15编号的的数据库

dbsize

当前数据库表的个数

select

选择使用哪个编号的数据库(切换数据库)

flushdb

删除当前数据库下的所有表

flushall

删除所有数据库下的所有表

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis队列stream,Redis多线程详解

Redis 目前最新版本为 Redis-6.2.6 ,会以 CentOS7 下 Redis-6.2.4 版本进行讲解。 下载地址: https://redis.io/download 安装运行 Redis 很简单,在 Linux 下执行上面的 4 条命令即可 ,同时前面的 课程已经有完整的视…

Ubuntu 上使能 SELinux

首发公号:Rand_cs 此文档说明如何在 ubuntu 上启用 SELinux,测试环境为虚拟机,开始前一定一定一定先来个快照,不要问我为什么有三个一定。 卸载 apparmor(可选) ubuntu 默认安装的安全组件为 apparmor&a…

红队攻防之hash登录RDP

没什么好害怕,孩子放心去飞吧,在你的身后有个等你的家 Restricted Admin Mode 受限管理模式是一项 Windows 功能,可防止将 RDP 用户的凭据存储在建立 RDP 连接的计算机的内存中。 这是用来防止用户(管理员)在 RDP 进…

使用Pytorch从零开始构建扩散模型-DDPM

知识回顾: [1] 生成式建模概述 [2] Transformer I,Transformer II [3] 变分自编码器 [4] 生成对抗网络,高级生成对抗网络 I,高级生成对抗网络 II [5] 自回归模型 [6] 归一化流模型 [7] 基于能量的模型 [8] 扩散模型 I, 扩散模型 II 引言 去噪…

Windows系统下搭建PXE Server

在给一台服务器初始安装OS时一般有以下几种方式: 1、通过BMC挂载iso镜像来安装; 2、通过U盘启动来安装; 3、通过网络启动来安装; 方式1和方式2只能一台一台地进行,且需要有键盘和显示器,效率低下&#xff…

Jmeter--如何监控服务器资源

在我们做项目的性能测试时,需要查看相关服务器的资源使用情况;本文以apache-Jmeter-5.5版本为例,使用PerfMon进行服务器资源监控的方案由两部分来实现:ServerAgent部署在被测服务器,负责资源耗用数据的采集&#xff0c…

运营商网络性能测试-Y.1564

前言 在网络部署之后和业务开展之前,运营商迫切希望了解当前网络的性能状态,以便为商业规划和业务推广提供必要的基础数据支持。因此,高可靠性和高精确度的性能测试方法对于运营商评判网络性能的优劣,显得尤为重要,而…

在虚拟机搭建nignx,和使用本地访问nginx的情况

下载nginx yum install nginx 查看nginx是否安装成功。 nginx -v nginx的配置文件的目录和资源的目录。 先到nginx.conf的目录下,在 /etc/nginx/nginx.conf,编辑它。 vi /etc/nginx/nginx.conf 可以看到默认的html的目录。在 /usr/share/nginx/html 下面…

算法 离散化

整数离散化 适用条件 适用于有序的整数序列该序列的值域很大,该序列的数的个数很少使用的是数的相对大小而非绝对大小 算法思路 原数组 a : 数组下标:0 1 2 3 4 数组元素:1 2 2 5 109 映射数组 : 数组下标&…

等保——密评技术要求

密评简介 密评定义:全称商用密码应用安全评估, 是指对采用商用密码技术、产品和服务集成建设的网络和信息系统密码应用的合规性、正确性、有效性进行评估。密评对象:重要信息系统、关键信息基础设施、网络安全等保三级及以上的系统。评测依据&#xff1…

算法通关村-----数据流的中位数

数据流的中位数 问题描述 中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。 例如 arr [2,3,4] 的中位数是 3 。 例如 arr [2,3] 的中位数是 (2 3) / 2 2.5 。 实现 MedianFinder 类: MedianFin…

Photoshop Elements 2023 v21.0(ps简化版)

Photoshop Elements 2023是一款ps简化版图像处理软件,它加入了一些新的功能和工具,以帮助用户更高效地处理图片。 新功能:软件加入了黑科技,采用Adobe Sensei AI技术,主打人工智能,一键P图,新增…

Haskell 安装 Cairo

背景 Haskell 项目需要使用到柱状图,折线图等(demo 代码) 步骤(默认已安装 stack, cabal, ghcup) nameversionstack2.11.1cabal3.8.1.0ghcup0.1.20.0 在 package.yaml 中添加所需依赖 Chart 和 Chart-cairo name:…

查看当前目录下文件数量

查看当前目录下文件数量 查看文件夹数量查看文件数查看所有文件(包括子文件)数量查看所有目录(包括子目录)数量查看图片数量 查看文件夹数量 ls -l | grep ^d | wc -l查看文件数 不包含文件夹 ls -l | grep ^- | wc -l查看所有…

Selenium 学习(0.17)——软件测试之测试用例设计方法——白盒测试——逻辑覆盖法(条件覆盖和条件判定覆盖)

条件覆盖 设计测试用例,使每个判断中每个条件的可能取值至少满足一次。 条件判定覆盖 通过设计足够的测试用例,满足如下条件: 所有条件的可能至少执行一次的取值 所有判断的可能结果至少执行一次 条件判定覆盖同时满足判定覆…

springcloud nacos配置优先级研究及配置管理最佳实践

目录 背景工具版本SpringCloud配置存放位置及相应优先级代码中nacosjar包外挂 多种配置共同存在时的优先级项目配置管理最佳实践无nacos的情况有nacos的情况 参考文献 背景 公司有很多应用是基于SpringBoot/SpringCloud开发。由于在配置文件中经常会涉及数据库账号密码之类的敏…

【Java学习笔记】73 - 正则表达式

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter27/src/com/yinhai/regexp 一、引入正则表达式 1.提取文章中所有的英文单词 2.提取文章中所有的数字 3.提取文章中所有的英文单词和数字 4.提取百度热榜标题 正则表达式是处理文本的利器…

【ShardingSphere专题】SpringBoot整合ShardingSphere(一、数据分片入门及实验)

目录 前言阅读对象笔记正文一、ShardingSphere介绍1.1 ShardingSphere-JDBC:代码级别1.2 ShardingSphere-Proxy:应用级别1.3 横向对比图 二、ShardingSphere之——数据分片2.1 基本介绍2.2 分片的形式2.2.1 垂直分片2.2.2 水平分片 2.3 数据分片核心概念…

JavaWeb后端数据库MySQL的使用

JavaWeb MySQLSQL数据库设计 多表设计1对多1对1多对多 多表查询连接查询内连接外连接左外连接右外连接 子查询事务索引 MySQL MySQL数据模型 关系型数据库:建立在关系模型基础上,由多张相互连接的二维表组成的数据库。 SQL SQL:操作关系型数…

【读论文】【泛读】S-NERF: NEURAL RADIANCE FIELDS FOR STREET VIEWS

文章目录 0. Abstract1. Introduction2. Related work3. Methods-NERF FOR STREET VIEWS3.1 CAMERA POSE PROCESSING3.2 REPRESENTATION OF STREET SCENES3.3 DEPTH SUPERVISION3.4 Loss function 4. EXPERIMENTS5. ConclusionReference 0. Abstract Problem introduction&…