redis curd 操作故障模拟
1、下载对应的包,并编译
git clone https://gitlab.onemt.co/onemt-injection/redis-injection.git
make build
或者下载这个链接中的可执行文件
https://files.cnblogs.com/files/quepq/redis-injection-v0.3.tar.gz?t=1664157046
2、跑一下 这个命令
./redis-injection -addr 127.0.0.1:8083 -redis 127.0.0.1:6379
这个命令看一下,如果端口不是8083,那就退出,重跑几遍
3、跑一下 redis-cli -p 8083 看下这个映射出的redis能否正常跑起来
4、连redis 6380 端口,这个就是1命令跑出来的映射端口,也就是6379映射出来执行阻塞的 redis-cli -p 6380
5、记得把代码配置的redis连接配置修改一下 ip地址改为 127.0.0.1 端口改为 8083 就是上面的那个,其他密码啥的不变
附加一些命令
故障和选项
-‘delay’:添加一个延迟,值单位为毫秒。例如:delay=200
。
-‘return_empty’:返回空响应。例如:return_empty=true
。
-‘return_err’:返回错误响应。例如:return_err=err
。
-‘drop’:对于drop连接,该值是布尔值。例如:drop=true
。
故障范围限制
限制故障的范围
-‘command’:仅对某些命令应用失败。例如,“command=HGET”。
-‘percentage’:限制应用规则的概率。例如,“percentage=25”仅适用于25%概率的匹配命令。
-‘client_addr’:将范围限定为来自某个子网ip、ip:端口的客户端。例如’client_addr=192.0.0.1`