Redis字符串(String)
Redis 的字符串(String)是最基本的数据类型之一,它可以存储任意类型的字符串数据,包括文本和二进制数据。字符串的最大长度为 512 MB。Redis 提供了丰富的命令来操作字符串,包括设置、获取、递增、递减等操作。
基本概念
键(Key):字符串的主键。
值(Value):与键关联的字符串值。
常用命令
1.SET:设置键的字符串值
SET key value
key
:字符串的主键。value
:要设置的值。
示例:
SET mykey Hello,world!
返回:OK
2.GET:获取键的字符串值
GET key
key
:字符串的主键。
示例:
GET mykey
返回:"Hello, World!"
3.GETSET:将键的值设置为新的值,并返回旧的值
GETSET key newvalue
key
:字符串的主键。newvalue
:新的值。
示例:
GETSET mykey "New Value"
返回:"Hello, World!"
4.MSET:同时设置一个或多个键的值
MSET key1 value1 key2 value2 ...
key1
、value1
、key2
、value2
:键和对应的值。
示例:
MSET key1 "value1" key2 "value2"
5.MGET:获取所有给定键的值
MGET key1 key2 ...
key1
、key2
:键。
示例:
MGET key1 key2
返回: "value1" "value2"
6.DEL:删除一个或多个键
DEL key1 key2 ...
key1
、key2
:键。
示例:
DEL key1 key2
7.EXISTS:检查一个或多个键是否存在
EXISTS key1 key2 ...
key1
、key2
:键。
示例:
EXISTS key1 key2
返回:1(表示存在)
8.INCR:将键的值增加 1
INCR key
key
:字符串的主键。
示例:
INCR counter
返回:如果 counter 的初始值为 0,则返回 1
9.DECR:将键的值减少 1
DECR key
key
:字符串的主键。
示例:
DECR counter
返回:如果 counter 的初始值为 1,则返回 0
10.INCRBY:将键的值增加指定的整数值
INCRBY key increment
key
:字符串的主键。increment
:要增加的值。
示例:
INCRBY counter 5
返回:如果 counter 的初始值为 0,则返回 5
11.DECRBY:将键的值减少指定的整数值
DECRBY key decrement
key
:字符串的主键。decrement
:要减少的值。
示例:
DECRBY counter 5
返回:如果 counter 的初始值为 5,则返回 0
12.INCRBYFLOAT:将键的值增加指定的浮点数值
INCRBYFLOAT key increment
key
:字符串的主键。increment
:要增加的值
示例:
INCRBYFLOAT counter 2.5
返回:如果 counter 的初始值为 0,则返回 2.5
13.APPEND:将值追加到键的现有值后面
APPEND key value
key
:字符串的主键。value
:要追加的值。
示例:
APPEND mykey " and Hello, Redis!"
返回:如果 mykey 的初始值为 "Hello, World!",则返回 "Hello, World! and Hello, Redis!"
14.GETRANGE:获取键的值的一部分
GETRANGE key start end
key
:字符串的主键。start
、end
:起始和结束索引,从 0 开始。
示例:
GETRANGE mykey 0 5
返回:如果 mykey 的值为 "Hello, World!",则返回 "Hello,"
15.SETRANGE:修改键的值的一部分
SETRANGE key offset value
key
:字符串的主键。offset
:起始索引,从 0 开始。value
:要设置的值。
示例:
SETRANGE mykey 7 "Redis"
返回:如果 mykey 的值为 "Hello, World!",则返回 "Hello, Redis!"
16.STRLEN:获取键的值的长度
STRLEN key
key
:字符串的主键。
示例:
STRLEN mykey
返回:如果 mykey 的值为 "Hello, World!",则返回 13
17.SETNX:只有当键不存在时,才设置键的值
SETNX key value
key
:字符串的主键。value
:要设置的值。
示例:
SETNX mykey "Hello, World!"
返回:如果 mykey 不存在,则返回 1 并设置值
18.SETEX:将键的值设置为指定的字符串,并设置键的过期时间(以秒为单位)
SETEX key seconds value
key
:字符串的主键。seconds
:过期时间(以秒为单位)。value
:要设置的值。
示例:
SETEX mykey 10 "Hello, World!"
返回:设置 mykey 的值为 "Hello, World!",并设置过期时间为 10 秒
19.PSETEX:将键的值设置为指定的字符串,并设置键的过期时间(以毫秒为单位)
PSETEX key milliseconds value
key
:字符串的主键。milliseconds
:过期时间(以毫秒为单位)。value
:要设置的值。
示例:
PSETEX mykey 10000 "Hello, World!"
返回:设置 mykey 的值为 "Hello, World!",并设置过期时间为 10000 毫秒(10 秒)
综合示例
假设我们要存储和操作一些字符串数据:
# 设置键的值
SET mykey "Hello, World!"
# 获取键的值
GET mykey # 返回 "Hello, World!"
# 将键的值设置为新的值,并返回旧的值
GETSET mykey "New Value" # 返回 "Hello, World!"
# 同时设置多个键的值
MSET key1 "value1" key2 "value2"
# 获取多个键的值
MGET key1 key2 # 返回 "value1" "value2"
# 删除键
DEL key1 key2
# 检查键是否存在
EXISTS mykey # 返回 1(存在)
# 递增键的值
INCR counter # 如果 counter 的初始值为 0,则返回 1
# 递减键的值
DECR counter # 如果 counter 的初始值为 1,则返回 0
# 递增键的值指定的整数值
INCRBY counter 5 # 如果 counter 的初始值为 0,则返回 5
# 递减键的值指定的整数值
DECRBY counter 5 # 如果 counter 的初始值为 5,则返回 0
# 递增键的值指定的浮点数值
INCRBYFLOAT counter 2.5 # 如果 counter 的初始值为 0,则返回 2.5
# 将值追加到键的现有值后面
APPEND mykey " and Hello, Redis!" # 如果 mykey 的值为 "Hello, World!",则返回 "Hello, World! and Hello, Redis!"
# 获取键的值的一部分
GETRANGE mykey 0 5 # 如果 mykey 的值为 "Hello, World!",则返回 "Hello,"
# 修改键的值的一部分
SETRANGE mykey 7 "Redis" # 如果 mykey 的值为 "Hello, World!",则返回 "Hello, Redis!"
# 获取键的值的长度
STRLEN mykey # 如果 mykey 的值为 "Hello, Redis!",则返回 13
# 只有当键不存在时,才设置键的值
SETNX mykey "Hello, World!" # 如果 mykey 已存在,则返回 0
# 将键的值设置为指定的字符串,并设置键的过期时间(以秒为单位)
SETEX mykey 10 "Hello, World!" # 设置 mykey 的值为 "Hello, World!",并设置过期时间为 10 秒
# 将键的值设置为指定的字符串,并设置键的过期时间(以毫秒为单位)
PSETEX mykey 10000 "Hello, World!" # 设置 mykey 的值为 "Hello, World!",并设置过期时间为 10000 毫秒(10 秒)
通过这些命令,Redis 的字符串(String)功能可以非常高效地处理和操作字符串数据,适用于多种实际应用场景,如缓存、计数器等。
标签:返回,入门,Redis,key,字符串,World,Hello,mykey From: https://blog.csdn.net/qq_38633763/article/details/143889707