SETRANGE key offset value
这个命令的作用是覆盖key对应的string的一部分,从指定的offset处开始,覆盖value的长度。如果offset比当前key对应string还要长,那这个string后面就补0以达到offset。不存在的keys被认为是空字符串,所以这个命令可以确保key有一个足够大的字符串,能在offset处设置value。
注意,offset最大可以是229-1(536870911),因为redis字符串限制在512M大小。如果你需要超过这个大小,你可以用多个keys。
警告:当set最后一个字节并且key还没有一个字符串value或者其value是个比较小的字符串时,Redis需要立即分配所有内存,这有可能会导致服务阻塞一会。在一台2010MacBook Pro上,set536870911字节(分配512MB)需要~300ms,set134217728字节(分配128MB)需要~80ms,set33554432比特位(分配32MB)需要~30ms,set8388608比特(分配8MB)需要8ms。注意,一旦第一次内存分配完,后面对同一个key调用SETRANGE就不会预先得到内存分配。
##模式
正因为有了SETRANGE和类似功能的GETRANGE命令,你可以把Redis的字符串当成线性数组,随机访问只要O(1)复杂度。这在很多真实场景应用里非常快和高效。
##返回值
integer-reply:该命令修改后的字符串长度
##例子
基本使用方法:
redis> SET key1 "Hello World"
OK
redis> SETRANGE key1 6 "Redis"
(integer) 11
redis> GET key1
"Hello Redis"
redis>
补0的例子:
redis> SETRANGE key2 6 "Redis"
(integer) 11
redis> GET key2
"\x00\x00\x00\x00\x00\x00Redis"
redis>
SETRANGE key offset value相关推荐
- Redis 笔记(03)— string类型(设置key、获取key、设置过期时间、批量设置获取key、对key进行加减、对key值进行追加、获取value子串)
字符串 string 是 Redis 最简单的数据结构.Redis 所有的数据结构都是以唯一的 key 字符串作为名称,然后通过这个唯一 key 值来获取相应的 value 数据.不同类型的数据结构的 ...
- 003-redis-命令-key操作,字符串操作
Redis 键(key) Redis 键命令用于管理 redis 的键. 序号 命令及描述 1 DEL key 该命令用于在 key 存在时删除 key. 2 DUMP key 序列化给定 key ...
- redis查看某一个key的大小_Redis笔记
一.Redis基础 1.简介 remote dictionary server 远程字典服务 C语言编写,基于内存,可持久化的日志型key value数据库. 他会周期性将更新的数据写入磁盘或把修改 ...
- redis命令---redist键命令(key)---redis字符串命令(str)
redis键的命令 序号 命令及描述 1 DEL key 该命令用于在 key 存在时删除 key. 2 DUMP key 序列化给定 key ,并返回被序列化的值. 3 EXISTS key 检查给 ...
- Redis 的 key 和数据类型
Redis 是一个高性能的键值对(key-value) 内存数据库.它支持存储的 value 类型十分丰富.性能极高,读写速度每秒 10w 次以上. Redis 的操作是原子性的.要么成功执行,要么失 ...
- redis(3)-redis基本类型
在redis安装目录下存在redis自带的客户端,启动即可使用.如果设置了密码,需要输入auth 123456进行验证.123456为密码. redis的基本数据类型: 1.字符串类型(String) ...
- java之redis篇(spring-data-redis整合)
redis的知识:官网 1,利用spring-data-redis整合 项目使用的pom.xml: <project xmlns="http://maven.apache.org/ ...
- Redis学习-String
命令 描述 复杂的 返回值 SET key value [EX seconds] [PX milliseconds] [NX|XX] 将字符串值value关联到key.如果key已经持有其他值, ...
- redis系列(一)-----日常使用详解
目录 ------------------------------------- Nosql数据库概述 NoSQ数据库的分类 几种常见Nosql功能及应用场景介绍 redis简介 redis应用场景 ...
最新文章
- golang http 操作 简介
- 玩转数据结构从入门到进阶四
- python 知识点记录二
- 如何在单个API中支持Java 6、8、9
- 读写自旋锁,第1部分(来自IBM)
- 信号与系统 电子课本(郑君里)
- 在UBUNTU 13.1 中使用五笔拼音混合输入法
- 线性卷积和循环卷积(圆周卷积)
- C++校招面试题合集
- 超市管理系统-2(数据库代码以及数据库逻辑)
- 纯前端实现登记照压缩宽高体积大小和换装功能
- 宝尚网上股票-今年A股新股数量与融资额再创新高
- Java知识体系脑图
- C Primer Plus NO.8
- 2018.8.4T3(大容斥)
- 华为AX3Pro+旁路由+Zerotier实现外网访问家里设备
- Cytoskeleton微管蛋白活细胞染色和聚合分析方案
- 64位的jre和32位的jre
- 城市消费券,拒绝恶意爬取
- 图片处理:完成图片的颜色反转
热门文章
- 史上最全Winform中使用ZedGraph教程与资源汇总整理(附资源下载)
- 关于Scrum中sprint的规模估算的对话
- linus启动mysql失败_Linux下MySQL启动失败的解决一例
- 极致无边界!2021 神策数据 Tech-Day 即将开幕
- 活动 | 玩转“视”界杯 —— 2018 上半年广告数据分析及短视频分享
- 中奖名单 | 价值 199 的大数据平台研发课程幸运er
- Extjs使用备忘录
- statCVS的问题剖析
- MySQL buffer pool中的三种链
- vue的数组如何存储数据