Redis关于使用命令setrange:更新部分内容的超详细规律总结

1.使用命令进行验证setrange

我总结了2种情况:第一种情况比较特殊(如下图):
在这里插入图片描述
上图可以看出”中间的数字x,满足0<=x<=5”;至少满足最前面数字(5位)长度
当x=0,可以理解为:取得的数字是从后面开始计算的;为了取得5位长度,所以加上了45,0的规律是最特殊;
当x=1,可以理解:就取到前面数字的一个数字,就是1,加上后面的数字,所以最后是16785; 1的规律也特殊.
当x=2,理解为: 就取到前面数字的2个数字,就是12,加上后面的数字,所以最后是12678;
0<=x<=2,长度为5,为了达到5位,先取前面的数字(根据x的长度进行判断),再取后面数字,最后取前面最后的数字,直到满足最前面数字(5位)的长度;
当x=3,理解为: 就取到前面数字的3个数字,就是123,加上后面的数字,所以最后是123678;长度就是6
当x=4或者x=5,原理:和当x=3,都是一样的;

2.第二种情况与第一种情况有所不同(如下图):

在这里插入图片描述
上图可以看出”中间的数字x,满足6<=x<=10”;至少满足(9位)的长度根据:(x+后面数字n)计算;
当6<=x<=10,可以看出最后的数字都是”12345678”,这个其实就是前面的数字和后面的数字进行了拼接组成的.所以:当x>m(前面数字长度)的时候,最后数字都是拼接组成;
长度就是根据:(x+后面数字n)计算;

总结:这些命令都是为了验证所有可能会出现的情况而进行反复试验,最终才总结出来,希望我用大量时间试验和总结写的这些博客,可以帮助到大家,也希望大家可以打赏一下,哪怕点赞也是可以的.

发布了33 篇原创文章 · 获赞 50 · 访问量 2681

猜你喜欢

转载自blog.csdn.net/qq_43107323/article/details/103440389