一步一步学习Redis——五大数据类型之字符串(String)的相关命令

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 一步一步学习Redis——五大数据类型之字符串(String)的相关命令

文章目录:


1.开篇

语法

2.Redis字符串(String)的相关命令

2.1 SET命令

语法

返回值

2.2 GET命令

语法

返回值

2.3 MSET命令

语法

返回值

2.4 MGET命令

语法

返回值

2.5 SETNX命令

语法

返回值

2.6 MSETNX命令

语法

返回值

2.7 SETRANGE命令 

语法

返回值

2.8 GETRANGE命令

语法

返回值

2.9 GETSET命令

语法

返回值

2.10 SETBIT命令

语法

返回值

2.11 GETBIT命令 

语法

返回值

2.12 SETEX命令

语法

返回值

2.13 PSETEX命令

语法

返回值

2.14 STRLEN命令

语法

返回值

2.15 INCR命令

语法

返回值

2.16 INCRBY命令

语法

返回值

2.17 DECR命令

语法

返回值

2.18 DECRBY命令

语法

返回值

2.19 APPEND命令

语法

返回值


1.开篇


Redis字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下:

语法

redis 127.0.0.1:6379> COMMAND KEY_NAME

2.Redis字符串(String)的相关命令


序号

命令及描述

1

SET key value
设置指定 key 的值

2

GET key
获取指定 key 的值。

3

GETRANGE key start end
返回 key 中字符串值的子字符

4

GETSET key value
将给定 key 的值设为 value ,并返回 key 的旧值(old value)

5

GETBIT key offset
key 所储存的字符串值,获取指定偏移量上的位(bit)

6

MGET key1 [key2...]
获取所有(一个或多个)给定 key 的值。

7

SETBIT key offset value
key 所储存的字符串值,设置或清除指定偏移量上的位(bit)

8

SETEX key seconds value
将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)

9

SETNX key value
只有在 key 不存在时设置 key 的值。

10

SETRANGE key offset value
value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。

11

STRLEN key
返回 key 所储存的字符串值的长度。

12

MSET key value [key value...]
同时设置一个或多个 key-value 对。

13

MSETNX key value [key value...]
同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。

14

PSETEX key milliseconds value
这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。

15

INCR key
key 中储存的数字值增一。

16

INCRBY key increment
key 所储存的值加上给定的增量值(increment

17

INCRBYFLOAT key increment
key 所储存的值加上给定的浮点增量值(increment

18

DECR key
key 中储存的数字值减一。

19

DECRBY key decrement
key
所储存的值减去给定的减量值(decrement

20

APPEND key value
如果 key 已经存在并且是一个字符串, APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾。


2.1 SET命令

Redis SET 命令用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。

语法

redis 127.0.0.1:6379> SET KEY_NAME VALUE

返回值

Redis 2.6.12 以前版本, SET 命令总是返回 OK

Redis 2.6.12 版本开始, SET 在设置操作成功完成时,才返回 OK

2.2 GET命令

Redis Get 命令用于获取指定 key 的值。如果 key 不存在,返回 nil 。如果key 储存的值不是字符串类型,返回一个错误。

语法

redis 127.0.0.1:6379> GET KEY_NAME

返回值

返回 key 的值,如果 key 不存在时,返回 nil如果 key 不是字符串类型,那么返回一个错误。

2.3 MSET命令

Redis Mset 命令用于同时设置一个或多个 key-value 对。

语法

redis 127.0.0.1:6379> MSET key1 value1 key2 value2 .. keyN valueN

返回值

总是返回 OK


2.4 MGET命令

Redis Mget 命令返回所有(一个或多个)给定 key 的值。如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil

语法

redis 127.0.0.1:6379> MGET KEY1 KEY2 .. KEYN

返回值

一个包含所有给定 key 的值的列表。

2.5 SETNX命令

Redis SetnxSET if Not eXists命令在指定的 key 不存在时,为 key 设置指定的值。

语法

redis 127.0.0.1:6379> SETNX KEY_NAME VALUE

返回值

设置成功,返回 1 设置失败,返回 0

2.6 MSETNX命令

Redis Msetnx 命令用于所有给定 key 都不存在时,同时设置一个或多个 key-value 对。

语法

redis 127.0.0.1:6379> MSETNX key1 value1 key2 value2 .. keyN valueN

返回值

当所有 key 都成功设置,返回 1 如果所有给定 key 都设置失败(至少有一个 key 已经存在),那么返回 0

2.7 SETRANGE命令 

Redis Setrange 命令用指定的字符串覆盖给定 key 所储存的字符串值,覆盖的位置从偏移量 offset 开始。

语法

redis 127.0.0.1:6379> SETRANGE KEY_NAME OFFSET VALUE

redis 127.0.0.1:6379> SETRANGE KEY_NAME OFFSET VALUE

返回值

被修改后的字符串长度。

2.8 GETRANGE命令

Redis Getrange 命令用于获取存储在指定 key 中字符串的子字符串。字符串的截取范围由 start end 两个偏移量决定(包括 start end 在内)

语法

redis 127.0.0.1:6379> GETRANGE KEY_NAME start end

返回值

截取得到的子字符串。

2.9 GETSET命令

Redis Getset 命令用于设置指定 key 的值,并返回 key 的旧值。

语法

redis 127.0.0.1:6379> GETSET KEY_NAME VALUE

返回值

返回给定 key 的旧值。 key 没有旧值时,即 key 不存在时,返回 nil

key 存在但不是字符串类型时,返回一个错误。

2.10 SETBIT命令

Redis Setbit 命令用于对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)

语法

redis 127.0.0.1:6379> Setbit KEY_NAME OFFSET

返回值

指定偏移量原来储存的位。


2.11 GETBIT命令 

Redis Getbit 命令用于对 key 所储存的字符串值,获取指定偏移量上的位(bit)

语法

redis 127.0.0.1:6379> GETBIT KEY_NAME OFFSET

返回值

字符串值指定偏移量上的位(bit)

当偏移量 OFFSET 比字符串值的长度大,或者 key 不存在时,返回 0

2.12 SETEX命令

Redis Setex 命令为指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会替换旧的值。

语法

redis 127.0.0.1:6379> SETEX KEY_NAME TIMEOUT VALUE

返回值

设置成功时返回 OK

2.13 PSETEX命令

Redis Psetex 命令以毫秒为单位设置 key 的生存时间。

语法

redis 127.0.0.1:6379> PSETEX key1 EXPIRY_IN_MILLISECONDS value1

返回值

设置成功时返回 OK

2.14 STRLEN命令

Redis Strlen 命令用于获取指定 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误。

语法

redis 127.0.0.1:6379> STRLEN KEY_NAME

返回值

字符串值的长度。 key 不存在时,返回 0

2.15 INCR命令

Redis Incr 命令将 key 中储存的数字值增一。

如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。

如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

本操作的值限制在 64 (bit)有符号数字表示之内。

语法

redis 127.0.0.1:6379> INCR KEY_NAME

返回值

执行 INCR 命令之后 key 的值。

2.16 INCRBY命令

Redis Incrby 命令将 key 中储存的数字加上指定的增量值。

如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCRBY 命令。

如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

本操作的值限制在 64 (bit)有符号数字表示之内。

语法

redis 127.0.0.1:6379> INCRBY KEY_NAME INCR_AMOUNT

返回值

加上指定的增量值之后, key 的值。

2.17 DECR命令

Redis Decr 命令将 key 中储存的数字值减一。

如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。

如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

本操作的值限制在 64 (bit)有符号数字表示之内。

语法

redis 127.0.0.1:6379> DECR KEY_NAME

返回值

执行命令之后 key 的值。

2.18 DECRBY命令

Redis Decrby 命令将 key 所储存的值减去指定的减量值。

如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECRBY 操作。

如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

本操作的值限制在 64 (bit)有符号数字表示之内。

语法

redis 127.0.0.1:6379> DECRBY KEY_NAME DECREMENT_AMOUNT

返回值

减去指定减量值之后, key 的值。

2.19 APPEND命令

Redis Append 命令用于为指定的 key 追加值。

如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。

如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。

语法

redis 127.0.0.1:6379> APPEND KEY_NAME NEW_VALUE

返回值

追加指定值之后, 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
相关文章
|
22天前
|
XML JSON NoSQL
Redis的常用数据结构之字符串类型
Redis的常用数据结构之字符串类型
19 0
|
2月前
|
NoSQL 安全 Linux
Redis 字符串:SDS
Redis 字符串:SDS
40 0
|
2月前
|
Java 索引
Java中String方法学习总结_kaic
Java中String方法学习总结_kaic
|
7天前
|
存储 NoSQL 安全
Redis入门到通关之Redis数据结构-String篇
Redis入门到通关之Redis数据结构-String篇
29 1
|
7天前
|
存储 NoSQL 安全
Redis入门到通关之数据结构解析-动态字符串SDS
Redis入门到通关之数据结构解析-动态字符串SDS
14 0
|
7天前
|
存储 缓存 NoSQL
Redis入门到通关之String命令
Redis入门到通关之String命令
13 0
|
8天前
|
存储 消息中间件 缓存
Redis 命令全解析之 String类型
Redis 命令全解析之 String类型
12 1
|
25天前
|
XML 编解码 数据格式
Python标准数据类型-String(字符串)
Python标准数据类型-String(字符串)
23 2
|
29天前
|
存储 消息中间件 缓存
Redis 字符串:用一串数据解决多种问题
Redis 字符串:用一串数据解决多种问题
|
22天前
|
Java API 索引
Java基础—笔记—String篇
本文介绍了Java中的`String`类、包的管理和API文档的使用。包用于分类管理Java程序,同包下类无需导包,不同包需导入。使用API时,可按类名搜索、查看包、介绍、构造器和方法。方法命名能暗示其功能,注意参数和返回值。`String`创建有两种方式:双引号创建(常量池,共享)和构造器`new`(每次新建对象)。此外,列举了`String`的常用方法,如`length()`、`charAt()`、`equals()`、`substring()`等。
15 0