Redis String类型学习Redis的基本数据类型中,String是基础且易于掌握的类型。String不仅可以存储传统的字符串如“hello world”,还可以存储JSON、HTML等复杂数据。接下来,我们将学习有关Redis String类型的关键命令。SET命令时间复杂度:O(1)功能:设置key-value映射。如果key已存在,将覆盖旧值;若key不存在,则创建新映射。无过期时间默认为永不过期。示例:将key“name”设置为value“John”SETNX命令时间复杂度:O(1)功能:当key不存在时才保存新值,类似于带有NX参数的SET命令。示例:当key“age”不存在时,将值“25”存储到“age”中SETEX命令时间复杂度:O(1)功能:设置key-value,并添加过期时间。相当于带有EX参数的SET命令。示例:设置key“exp”对应的值为“3年”,并使其在30天后过期PSETEX命令时间复杂度:O(1)功能:与SETEX类似,设置过期时间,但单位为毫秒。示例:设置key“score”对应的值为“85”,并使其在10000毫秒后过期GET命令时间复杂度:O(1)功能:返回key对应的value。若key不存在,则返回空值。示例:获取key“name”的值GETSET命令时间复杂度:O(1)功能:设置key-value,并返回旧值。若旧值不存在,返回nil;若旧值非字符串,则报错。示例:获取并设置key“score”为新值“95”,返回旧值GETDEL命令时间复杂度:O(1)功能:获取key对应的value,然后删除key。若key不存在,则返回空值。示例:获取并删除key“name”的值GETEX命令时间复杂度:O(1)功能:获取key对应的value,并设置过期时间。与SETEX命令类似,但使用GETEX命令时过期时间参数与set命令一致。示例:获取并设置key“exp”的值为“3年”,并使它过期STRLEN命令时间复杂度:O(1)功能:返回key对应value的字符串长度。若key不存在或value非字符串,则报错。示例:获取key“name”的字符串长度APPEND命令时间复杂度:O(1)功能:在key对应的字符串值后追加数据。若key不存在,则视为空字符串。示例:在key“bio”的值后追加“,资深开发者”SETRANGE命令时间复杂度:O(1)功能:从指定偏移量开始修改key对应的value值。value长度不足时用空白字符补充。若key不存在,以空白字符串处理。示例:修改key“title”的值从第3个字符开始,将其从“Developer”变更为“Software Engineer”GETRANGE命令时间复杂度:O(N)功能:获取key对应value的子串,由start和end参数决定。负数表示从末尾开始计数。示例:从key“bio”的值中获取从第4个字符到第10个字符的子串INCR命令时间复杂度:O(1)功能:将key对应的value值加1。若key不存在,则初始化为0。示例:将key“count”的值加1INCRBY命令时间复杂度:O(1)功能:将key对应的value值加上一个整数。若key不存在,则初始化为0。示例:将key“score”的值加3INCRBYFLOAT命令时间复杂度:O(1)功能:将key对应的value值加上一个浮点数。若key不存在,则初始化为0。最多保留17位小数。示例:将key“rating”的值增加0.5DECR命令时间复杂度:O(1)功能:将key对应的value值减1。若key不存在,则初始化为0。示例:将key“age”的值减1DECRBY命令时间复杂度:O(1)功能:将key对应的value值减去一个整数。若key不存在,则初始化为0。示例:将key“points”的值减5MSET命令时间复杂度:O(N)功能:一次性设置多个key-value。若key已存在,将覆盖旧值。MSET是一个原子操作。示例:同时设置多个key的值MSETNX命令时间复杂度:O(N)功能:当所有给定的key都不存在时,才执行设置操作。类似于带有NX参数的MSET命令。示例:当所有指定的key不存在时,执行设置操作MGET命令时间复杂度:O(N)功能:一次获取多个key的值。若key不存在,则返回nil。示例:获取多个key的值