首页 > 数据库 >redis学习笔记3: redis常用命令

redis学习笔记3: redis常用命令

时间:2024-05-14 10:33:38浏览次数:14  
标签:Typedown Users Pictures redis 笔记 hikari39 key 常用命令 png

redis学习笔记3: redis常用命令


在此处输入redis命令


字符串操作命令

  • set key value 设置指定key的值(类似于put)

  • get key 获取指定key的值

  • setex key seconds value 设置带有过期时间的key

  • setnx key value 当key不存在时创建


SET key value

设置指定key的值

  • 插入数据
SET name jack


GET key

获取指定key的值

  • 查询数据
GET name

查询不存在的key

GET abc


SETEX key seconds value

set expire, 设置指定key的值, 并将key的过期时间设置为second秒

  • 过期自动被清理, 短信验证码
SETEX code 30 1234

fad70d9c-e919-44e1-bfce-6160f09812bc

可以使用TTL key查询过期时间

TTL code
ec6fef05-6615-467b-84aa-d74881d9fe47

SETNX key value

set not exist, 只有在key不存在时设置key的值

  • 分布式锁
SETNX name handsomecat
SETNX name2 handsomecat

![fc7af9e1-d36b-4925-ad74-c76c1ec70840](file:///C:/Users/hikari39/Pictures/Typedown/fc7af9e1-d36b-4925-ad74-c76c1ec70840.png)

只有未存在的name2被赋值

![e5e21069-39cb-462d-bf80-a3f52b101797](file:///C:/Users/hikari39/Pictures/Typedown/e5e21069-39cb-462d-bf80-a3f52b101797.png)


哈希操作命令

  • hset key field value 设置指定key field字段的值

  • hget key field 获取指定key field字段的值

  • hdel key field 删除指定key的field字段

  • hkeys key 查找当前key的所有field

  • hvals key 查找当前key的所有value


Redis hash是一个string类型的field和value的映射表, hash特别适合用于存储对象

2f2b0aa7-f193-4f6e-a950-ea4e015a5a18

HSET key field value

将哈希表key中的字段field的值设为value

key类似于对象的地址, name是对象的属性, xiaoming是属性的值

73e02a39-2f39-4bc5-801a-81886f1db999
HSET 100 name xiaoming
HSET 100 age 20
46563500-9628-48cf-ac9e-ba698d1cafeb 821310f9-8006-43d7-b3ca-74645251b126

类似的, 也有hsetEX和hsetNX的方法


HGET key field

获取存储在哈希表中指定字段field的值

HGET 100 name
HGET 100 age
11cf1df6-b589-4745-80d0-8fc13ae812ac

hgetALL key, 可以获取所有属性值, 类似于对象的toString (?)

hgetALL 100
647af4fd-15f8-43d2-8601-9722bb315326

HDEL key field

删除存在在哈希表中的指定字段filed

HDEL 100 name
64c035aa-2347-4d2c-abba-daf52eca5670 c3a2fb42-a15f-4fa2-a98b-b15379393cb3

HKEYS key

获取哈希表中的所有字段

![6c5d5a24-6844-4ba5-a42b-b8a855049e2f](file:///C:/Users/hikari39/Pictures/Typedown/6c5d5a24-6844-4ba5-a42b-b8a855049e2f.png)


HVALS key

获取哈希表中所有的值

![41266ed7-062c-4eee-ad56-273d3bcc886b](file:///C:/Users/hikari39/Pictures/Typedown/41266ed7-062c-4eee-ad56-273d3bcc886b.png)


列表操作命令

Redis列表是简单的字符串列表, 按照插入顺序排序

双向栈, 支持lpush, lpop, rpush, rpop

33cf7c51-9b0f-46e9-b4f8-387287e0cb40

LPUSH key value1 [value2]

left push, 将一个或多个值插入到列表头部 (头插法->入队)[先进的元素在队尾, 先进先出]

失败

LPUSH 100 d c b a

![71e0df19-8e66-4931-baa6-10a9c9ef5b8a](file:///C:/Users/hikari39/Pictures/Typedown/71e0df19-8e66-4931-baa6-10a9c9ef5b8a.png)

成功, 并返回了操作记录数

LPUSH mylist d c b a

![48eca124-a4c3-4b23-aa8b-bf70122b6214](file:///C:/Users/hikari39/Pictures/Typedown/48eca124-a4c3-4b23-aa8b-bf70122b6214.png)

f3604aa6-f980-4888-96d3-ba62cf2d5a21

LRANGE key start stop

left range 获取列表指定范围内的元素

从头部到尾部查询

LRANGE mylist 0 -1

![97272e12-3585-4ad7-8b8a-99261e0fcba3](file:///C:/Users/hikari39/Pictures/Typedown/97272e12-3585-4ad7-8b8a-99261e0fcba3.png)


RPOP key

right pop 移除并获取列表最后一个元素(出队)

删除并返回了第一个进入的元素d

Rpop mylist

![a85b881a-6e5c-42ee-9ac7-3bd38741c820](file:///C:/Users/hikari39/Pictures/Typedown/a85b881a-6e5c-42ee-9ac7-3bd38741c820.png)

e0f4592b-c982-4117-a3bd-27f5dedb462c

LLEN key

list length 获取列表长度

LLEN mylist

![df85caf8-f51e-41a3-a039-129ae8455609](file:///C:/Users/hikari39/Pictures/Typedown/df85caf8-f51e-41a3-a039-129ae8455609.png)


集合操作命令

Redis set是string类型的无序集合, 集合成员是唯一的, 集合中不能出现重复数据

a67f8abd-92ba-4a5f-958e-505e05fe4fe3

SADD key member1 [member2]

向集合中添加一个或多个成员

返回插入集合的成员数, 插入重复成员时不能成功

SADD myset a b c d
SADD myset a

![1bfd2c6d-16ff-4617-8a49-7ea26944bc8c](file:///C:/Users/hikari39/Pictures/Typedown/1bfd2c6d-16ff-4617-8a49-7ea26944bc8c.png)

元素是无序的

![1982bdbe-2f0e-48c8-993c-d6f34e43ccb3](file:///C:/Users/hikari39/Pictures/Typedown/1982bdbe-2f0e-48c8-993c-d6f34e43ccb3.png)


SMEMBERS key

返回集合中的所有成员

SMEMBERS myset
e28d8d46-2ba6-4dbc-9c55-2b3a30a2c81f

SCARD key

获取集合的成员数


SINTER key1 [key2]

返回给定集合的交集

myset2

![db7acafb-6b11-455f-b211-7a0c19bd0cfd](file:///C:/Users/hikari39/Pictures/Typedown/db7acafb-6b11-455f-b211-7a0c19bd0cfd.png)

SINTER myset myset2

![ac8d316a-2bf8-49b6-bb04-3ee019e11f30](file:///C:/Users/hikari39/Pictures/Typedown/ac8d316a-2bf8-49b6-bb04-3ee019e11f30.png)


SUNION key1 [key2]

返回给定集合的并集

myset3

![b0116ba1-4da8-4913-ba65-a6f7fea83942](file:///C:/Users/hikari39/Pictures/Typedown/b0116ba1-4da8-4913-ba65-a6f7fea83942.png)

SUNION myset myset3

![9c1b7af2-00d0-4020-9bdd-fde59d35803a](file:///C:/Users/hikari39/Pictures/Typedown/9c1b7af2-00d0-4020-9bdd-fde59d35803a.png)


SREM key member1 [member2]

删除集合中的一个或多个成员

SREM a b c d

![f1b348cf-cf1c-4920-a045-59b88b7112ec](file:///C:/Users/hikari39/Pictures/Typedown/f1b348cf-cf1c-4920-a045-59b88b7112ec.png)

![40c6ad07-b50b-4b95-b1c1-d50e474db0ef](file:///C:/Users/hikari39/Pictures/Typedown/40c6ad07-b50b-4b95-b1c1-d50e474db0ef.png)


有序集合操作命令

Redis有序集合是string类型元素的集合, 不允许有重复成员, 每个元素都会关联一个double类型的分数

69e76d65-b951-4920-bc67-5f5d21e5bf90

ZADD key score1 member1 [scores2 member2]

向有序集合添加一个或多个成员

ZADD zset1 10.0 a 10.5 b

![44e52a11-cf4b-4055-a629-6aac659f797d](file:///C:/Users/hikari39/Pictures/Typedown/44e52a11-cf4b-4055-a629-6aac659f797d.png)

ZADD zset1 1 c 2 d

![6b125a4f-03d8-4105-9031-3a8da7319d20](file:///C:/Users/hikari39/Pictures/Typedown/6b125a4f-03d8-4105-9031-3a8da7319d20.png)


ZRANGE key start stop [WITHSCORES]

通过索引区间返回有序集合中指定区间内的成员

ZRANGE zset1 0 -1

![9eaa91de-65f7-4aa6-b9b3-fe84bce7e6f4](file:///C:/Users/hikari39/Pictures/Typedown/9eaa91de-65f7-4aa6-b9b3-fe84bce7e6f4.png)

可能精度丢失, 默认升序排列

ZRANGE zset1 0 -1 WITHSCORES

![56930340-1a58-4cb0-a811-04aa624e0d9f](file:///C:/Users/hikari39/Pictures/Typedown/56930340-1a58-4cb0-a811-04aa624e0d9f.png)


ZINCRBY key increment member

有序集合中对指定成员的分数加上增量increment

ZINCRBY zset1 10 c
dfe98820-9205-4326-bc8f-cf50c92bddec

ZREM key member [member...]

移除有序集合中的一个或多个成员

ZREM zset1 a b c
80fd4448-fafa-448a-a7a8-c817bb9f8747

通用命令

不分数据类型, 都可以使用的命令

KEYS pattern

查找所有符合给定模式(pattern)的key

返回所有的key

keys *

![4992f103-bccf-4b25-a6c5-408e256e52f1](file:///C:/Users/hikari39/Pictures/Typedown/4992f103-bccf-4b25-a6c5-408e256e52f1.png)

返回以2结尾的key

keys *2

![26838935-8090-4317-8701-4e5aed896faf](file:///C:/Users/hikari39/Pictures/Typedown/26838935-8090-4317-8701-4e5aed896faf.png)

返回以z开头的key

keys z*

![6ed56c1e-637d-4b57-8c14-ca9fd4f208f7](file:///C:/Users/hikari39/Pictures/Typedown/6ed56c1e-637d-4b57-8c14-ca9fd4f208f7.png)


EXISTS key

检查key是否存在

查询存在的key100和不存在的key10000

EXISTS 100
EXISTS 10000
66cf0d2d-afd6-427d-ac94-0531a85d11a6

TYPE key

返回key所存储的值的类型

TYPE 100
TYPE zset1
9e9c23a3-62bf-44bc-9c93-03bd59a813df

DEL key

在key存在时删除key

DEL mylist

可以一次删除多个

DEL myset1 myset2 myset3

标签:Typedown,Users,Pictures,redis,笔记,hikari39,key,常用命令,png
From: https://www.cnblogs.com/HIK4RU44/p/18190715

相关文章

  • redis学习笔记4: 在Java中操作Redis
    redis学习笔记4:在Java中操作RedisRedis的Java客户端Jedis[命令和原生Redis基本相同]Lettuce[性能高效]SpringDateRedis[可以在Spring项目中使用,简化操作]SpringDateRedis使用方式导入maven坐标<!--https://mvnrepository.com/artifact/org.springfra......
  • day4-1-Redis
    day4-1-Redis入门Redis介绍Redis是一个基于内存的key-value结构数据库基于内存存储,读写性能高适合存储热点数据(热点商品,咨询,新闻)(在特定时间有大量访问量)keyvalueid101name小智city北京redis中文网Redis安装Redis启动-服务端......
  • php + redis 实现秒杀
    一、概述秒杀这个问题在很多面试的时候都会提到,会有各个方面的调优,配置等等,本文在这里举个简单的例子来演示下秒杀的过程,供大家参考发散思维。 二、准备介绍thinkPHP6框架redis6.0php7.4redis操作包predisapache-jmeter-5.6 三、代码实现秒杀controller层的简易代......
  • cmd shutdown 中常用命令讲解
    一段时间后关机:shutdown-s-t秒数效果是倒计时到该秒数后关机,例如shutdown-s-t3600就是3600秒后关机,也就是一小时后关机立即关机命令:shutdown-p关闭本地计算机,效果是马上关机,而不进行倒计时也可以使用shutdown-s-te设置0秒后关机,也就是立即关机的意思一段时间后重启:shutd......
  • 软件评测师笔记08--测试用例设计
    决策表(判定表)测试用例设计步骤1、依据软件规格说明:确定规则个数2、列出所有的条件项和动作桩3、输入条件项4、输入动作项,制定初始判定表5、合并相似规则   场景法设计测试用例步骤1、根据规格说明,描述出程序的基本流及各项备选流2、根据基本流和备选流确定场景3、......
  • 【SpringCloud】黑马学习笔记-Nacos
    #1.Nacos安装(黑马教程安装材料)##1.1Windows安装开发阶段采用单机安装即可。###1.1.1下载安装包在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码:GitHub主页:https://github.com/alibaba/nacosGitHub的Release下载页:https://github.com/alibaba/na......
  • WSL常用命令
    WSL常用命令WSL重启WSL中reboot和shutdown都无法使用,我直接使用win下的WSL命令来实现重启的.wsl--shutdown#关闭所有wslwsl-l-v#检查是否关闭关闭后再启动wsl即可.GUI程序中文字体显示为方块问题错误如下:检查已安装的字体$fc-list#若没有此命令,......
  • 02-Excel基础操作-学习笔记
    01替换场景描述:在excel表中由“部门”列,将其中的’‘一部门’‘改为’‘一车间’‘在excel表中由“地区”列,上面记录着既有“苏州”又有“苏州市”,现在要求将‘’地区‘’所在列中的“苏州”改为“苏州市”。分班:将列表中的63名同学分成2个班级,3个班级又该如何操作......
  • 随笔-调试-数据库常用命令
    目录Mysql命令登录命令在命令行直接执行命令查看表数据/修改表数据/清空数据查看表结构/增加列/删除列/删除表wireshark抓mysql的报文Redis命令登录并执行命令/查看数据批量删除数据sqlite命令Mysql命令登录命令mysql-uroot-p'root'-h127.0.0.1-P3360xxxDb在命令行直接......
  • 软件测评笔记07--测试基础
    基本路径测试法概念在程序控制流程图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例,设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次 五种基本结构  控制流图描述程序控制流的一种图示方法,其基本符号有圆圈和箭线,圆圈为......