字符串(String)
Redis的基础数据结构:字符串(String)使用
字符串(String)是Redis中最基础的数据类型之一。Redis的字符串不仅可以存储简单的文本字符串,还可以存储二进制数据,例如图片或序列化后的对象。字符串类型的数据操作简单且高效,是Redis使用最广泛的数据结构。
一、字符串的基本操作命令
SET:设置键对应的字符串值。
SET key value
示例:
SET name "Redis"
GET:获取键对应的字符串值。
GET key
示例:
GET name
返回结果:
"Redis"
GETSET:设置键的值,并返回键的旧值。
GETSET key value
示例:
GETSET name "NewRedis"
返回结果:
"Redis"
SETEX:设置键的值,并指定过期时间(秒)。
SETEX key seconds value
示例:
SETEX temp_key 10 "TemporaryValue"
说明:键
temp_key
将在10秒后自动删除。SETNX:仅当键不存在时,设置键的值(SET if Not eXists)。
SETNX key value
示例:
SETNX name "AnotherRedis"
如果键
name
已经存在,该操作不会有任何效果。INCR:将键对应的值加1(键的值必须为整数)。
INCR key
示例:
INCR counter
如果
counter
的初始值为10
,操作后将返回11
。INCRBY:将键对应的值增加指定整数。
INCRBY key increment
示例:
INCRBY counter 5
如果
counter
的初始值为10
,操作后将返回15
。DECR:将键对应的值减1(键的值必须为整数)。
DECR key
示例:
DECR counter
如果
counter
的初始值为10
,操作后将返回9
。DECRBY:将键对应的值减少指定整数。
DECRBY key decrement
示例:
DECRBY counter 3
如果
counter
的初始值为10
,操作后将返回7
。STRLEN:获取键对应值的字符串长度。
STRLEN key
示例:
STRLEN name
如果
name
的值为"Redis"
,操作后将返回5
。APPEND:将值追加到现有的键值末尾。
APPEND key value
示例:
APPEND name "Database"
如果
name
的初始值为"Redis"
,操作后将返回12
,此时name
的值为"RedisDatabase"
。GETRANGE:获取字符串值的子字符串(通过索引范围)。
GETRANGE key start end
示例:
GETRANGE name 0 4
如果
name
的值为"RedisDatabase"
,操作后将返回"Redis"
。SETRANGE:用指定的字符串覆盖键值,从指定偏移量开始。
SETRANGE key offset value
示例:
SETRANGE name 5 "Data"
如果
name
的初始值为"RedisDatabase"
,操作后将返回"RedisDataase"
。
二、配套练习题
练习题1:使用 SET
命令创建一个键名为 course
,值为 "Redis"
. 然后使用 GET
命令获取并返回该键的值。
答案:
SET course "Redis" GET course
返回结果:
"Redis"
练习题2:使用 INCR
命令增加键名为 visits
的值,如果键不存在则创建它,初始值为0。执行3次 INCR
操作,最后返回 visits
的值。
答案:
INCR visits INCR visits INCR visits GET visits
返回结果:
"3"
练习题3:使用 SETNX
命令尝试设置键名为 user
的值为 "Admin"
,并确保该键只有在不存在时才会被设置。然后使用 GET
命令获取 user
的值。
答案:
SETNX user "Admin" GET user
如果 user
之前不存在,返回结果:
"Admin"
如果 user
已经存在,结果保持不变。
练习题4:使用 APPEND
命令将 "Learning"
追加到键 course
的值后,并返回新的字符串长度。
答案:
APPEND course "Learning" STRLEN course
假设 course
的初始值为 "Redis"
,操作后将返回 12
,此时 course
的值为 "RedisLearning"
。
练习题5:使用 GETRANGE
命令获取键 course
的值的子字符串,从索引 0
到 4
(包含)。
答案:
GETRANGE course 0 4
假设 course
的值为 "RedisLearning"
,操作后将返回 "Redis"
。
需要购买本课才能留言哦~