首页/数据/数据库速查/GETRANGE / SETRANGE 子串操作
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条
Redis 命令96 条
Redis 运维与场景124 条

GETRANGE / SETRANGE 子串操作

按字节下标截取与覆写字符串:GETRANGE 支持负下标(-1 为最后一个字节),SETRANGE 超长自动零字节填充,适合固定宽字段。

数据库速查数据更新于 2026-10-12

示例

示例
SET msg "Hello World"
GETRANGE msg 0 4      # "Hello"
GETRANGE msg -5 -1    # "World"
GETRANGE msg 0 -1     # 整个值
SETRANGE msg 6 "Redis"   # 返回 11,值变 "Hello Redis"
SETRANGE pad 5 "x"    # 自动补 \x00 零字节,返回 6
下标按字节,0 起;支持负数从尾部计
SETRANGE返回值新长度,可自动扩展
注意改写固定宽度记录时长度对齐
二进制安全:GETRANGE/SETRANGE 按字节操作,可存图片片段;但中文按字节截断会切成半个字符的乱码。

易错点

  • 对中文字符串按字节截取:半个汉字产生乱码,文本场景改用应用层处理
  • SETRANGE 补 \x00 后与空串比较不相等,读出来像是「有值」

数据来源与参考

  • Redis 官方文档: GETRANGE
  • Redis 官方文档: SETRANGE

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌