[Redis]Redis常用命令与常见数据类型(上)

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: [Redis]Redis常用命令与常见数据类型(上)

1. Redis 数据结构介绍

Redis 是一个 key-value 的数据库,key 一般是 String 类型,value 的类型可以有多种。

Redis 中的常见数据类型:

Redis 的官方帮助文档:https://redis.io/commands/

2. Redis 的通用命令

通用指令是部分数据类型的,都可以使用的指令。

2.1 select:切换到指定的数据库

使用 select 可以切换到指定的 Redis 数据库,Redis 中的数据库使用索引号 index 进行命名,以 0 作为起始索引值。默认使用 0 号数据库。

语法:

select index

示例:

2.2 keys:查看符合匹配规则的所有key

keys 的用法:

使用 keys 可以通过正则匹配查询数据库中所有符合匹配规则的 key。

语法:

keys 正则匹配规则

由于这种匹配方式是模糊匹配,所以查询符合匹配规则的 key 效率不高,

示例:

2.3 del:删除指定的 key

del 的用法:

可以使用 del 删除一个或多个指定的 key,会返回删除 key 的个数。

语法:

del key [key key ...]

向提取通过 Redis 图形化客户端添加 key

示例:

2.4 exists:判断 key 是否存在

exists 的用法:

可以使用 exists 判断一个或多个 key 是否存在,如果 key 存在返回1,如果 key 不存在返回0。

如果判断多个 key 是否存在,只要有一个 key 存在就返回1,只有所有的 key 都不存在才返回0。

语法:

exists key [key key ...]

示例:

2.5 expire:给一个 key 设置有效期

expire 的用法:

可以使用 expire 为一个指定的 key 设置其存活的有效期,当 key 的有效期到时,这个 key 会自动被删除。key 的有效时间的单位是秒。设置有效时间成功,返回1,失败返回0。

语法:

expire key seconds [NX|XX|GT|LT]
  • 该命令支持一组选项:
  • NX – 仅在 key 没有设置有效时间时设置 key 的有效时间
  • XX – 仅当 key 没有过期时设置 key 的有效时间
  • GT – 仅当新的有效时间大于当前的有效时间时设置 key 的有效时间
  • LT – 仅当新的有效时间小于当前的有效时间时设置 key 的有效时间

示例:

设置有效时间时不带参数:

2.6 ttl:查看一个 key 的剩余有效期

ttl 的用法:

可以使用 ttl 查看指定的 key 的剩余有效时间,会返回指定的 key 的剩余有效时间。对于永久有效的 key 返回的剩余有效时间为 -1,对于失效的 key 返回的剩余有效时间为 -2。

语法:

ttl key

如果新创建的 key-value 没有指定有效时间,那么这个键值对的存活有效时间为永久有效。

示例:

3. Redis 常见数据类型

3.1 String 类型

3.1.1 String 类型概述

String 类型就是字符串类型。

对于 key 对应的 value 的数据类型为 String类型,根据字符串的格式不同,又分为三类:

1.String:普通字符串;

2.int:整数类型,可以做自增或自减操作;

3.float:浮点类型,可以做自增或自减操作。

对于上面三类,如果 value 是简单的字符串,Redis 会将每个字符转换为对应的字符编码进行存储;如果 value 是数值类型(int或float),Redis 会将其转化为对应的二进制数值进行存储。

注意:字符串类型的最大空间不超过512M。

3.1.2 String 类型常见命令

get:根据key获取String类型的value

get 的用法:

语法:

get key

使用 get 可以获取指定的 key 对应的 value 值,如果 key 存在则返回对应的 value 值,如果 key 不存在则返回 nil。

示例:

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

mget 的用法:

语法:

mget key [key ...]

使用 mget 可以获取指定的多个 key 对应的 value 值,对于存在的 key 返回对应的 value 值,对于不存在的 key 不存在则返回 nil。

示例:

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

set 的用法:

语法:

SET key value [NX | XX] [GET] [EX seconds | PX milliseconds | EXAT unix-time-seconds | PXAT unix-time-milliseconds | KEEPTTL]
  • EX seconds – 设置新键值对的有效期,以秒为单位
  • PX milliseconds – 设置新键值对的有效期,以毫秒为单位
  • EXAT timestamp-seconds – 设置新键值对的过期时间(什么时候过期,时间使用时间戳),以秒为单位
  • PXAT timestamp-milliseconds – 设置新键值对的过期时间(什么时候过期,时间使用时间戳),以毫秒为单位
  • NX – 当该键值对不存在时新建键值对
  • XX – 当该键值对已经存在时新建键值对
  • KEEPTTL – 保留 key 的存活时间
  • GET – 返回存储在键的旧字符串,如果键不存在,则返回 nil。如果存储在键的值不是字符串,则会返回错误并中止。

使用 set 添加或修改已经存在的键值对,成功返回新键值对的 ok,失败则返回 nil。

示例:

mset:批量添加多个String类型的键值对

mset 的用法:

语法:

mset key value [key value ...]

使用 mset 添加多个键值对,成功则返回OK.

示例:

incr:让一个key对应的为整型的value自增1

语法:

incr key

使用 incr 可以让一个 key 对应的为整型类型 value 的值自增加一,返回值为 自增加一后的新 value值。

如果指定的 key 不存在,则会新增一个键值对,同时新键值对的 value 值为1。如果指定的 key 对应的 value 的类型不为整型,则报错。

示例:

incrby:让一个key对应的为整型的value自增并指定步长

语法:

incrby key 自增步长


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
6天前
|
存储 NoSQL 关系型数据库
【Redis】Redis的特性和应用场景 · 数据类型 · 持久化 · 数据淘汰 · 事务 · 多机部署
【Redis】Redis的特性和应用场景 · 数据类型 · 持久化 · 数据淘汰 · 事务 · 多机部署
16 0
|
6天前
|
NoSQL Redis 数据库
Redis中的常用命令非常丰富,涵盖了各种数据类型的基本操作以及服务器管理和维护的相关指令
【5月更文挑战第15天】Redis常用命令包括通用(如PING、SELECT)、键操作(KEYS、EXISTS、DEL)、字符串(SET、GET)、哈希(HSET、HGET)、列表(LPUSH、LPOP)、集合(SADD、SMEMBERS)和有序集合(ZADD、ZRANGE)等。这些命令用于数据操作及服务器管理,满足不同场景需求。了解更多命令,建议参考Redis官方文档。
17 2
|
6天前
|
存储 NoSQL Redis
Redis基础命令集详解
Redis基础命令集详解
15 1
|
6天前
|
存储 NoSQL Redis
Redis 常用命令
Redis 常用命令
17 0
|
6天前
|
存储 NoSQL Redis
深入浅出Redis(零):Redis常用命令的使用
深入浅出Redis(零):Redis常用命令的使用
|
6天前
|
存储 NoSQL 关系型数据库
深入浅出Redis(十二):Redis的排序命令Sort
深入浅出Redis(十二):Redis的排序命令Sort
|
6天前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
29 0
|
6天前
|
SQL NoSQL Java
Redis数据类型 Hash Set Zset Bitmap HyperLogLog GEO
Redis数据类型 Hash Set Zset Bitmap HyperLogLog GEO
18 0
|
6天前
|
存储 NoSQL 定位技术
Redis常用数据类型及常用命令
这些是Redis中常用的数据类型和命令。Redis还提供了许多其他命令和功能,用于数据存储、操作和查询。你可以根据需要选择适当的数据类型和命令来满足你的应用程序需求。
26 4
|
NoSQL 测试技术 Redis
Redis命令性能优化及事务使用过程(下)
Redis命令性能优化及事务使用过程(下)
503 0
Redis命令性能优化及事务使用过程(下)