nginx的if支持=、!= 逻辑比较, 但不支持if中 <、<、>=、<= 比较.
本示例使用了set-misc-nginx-module
复制代码 代码如下:
location = /test/ {
default_type html;
set_random $a 0 9; #$a 随机 从0-9取
if ( $a <= 4 ){ #$a 如果 < 4 这是错误的写法
echo 'a: $a is lte 4';
}
if ( $a >= 5 ){ #$a 如果 > 5 这是错误的写法
echo 'a: $a is gte 5';
}
}
上面的配置, 在启动nginx时会报错误的.
即然不支持,那有没有办法小小地弥补下呢"codetitle">复制代码 代码如下:
location = /test/ {
default_type html;
set_random $a 0 9; #$a 随机 从0-9取
if ( $a ~ [0-4] ){ #$a 如果 正则匹配 0-4
echo 'a: $a is lte 4';
}
if ( $a ~ [5-9] ){ #$a 如果 正则匹配 5-9
echo 'a: $a is gte 5';
}
}
测试10次:
复制代码 代码如下:
a: 8 is gte 5
a: 9 is gte 5
a: 2 is lte 4
a: 1 is lte 4
a: 8 is gte 5
a: 0 is lte 4
a: 9 is gte 5
a: 1 is lte 4
a: 4 is lte 4
a: 5 is gte 5
...
附:NGINX竟然不支持这样的写法....
复制代码 代码如下:
location = /test/ {
default_type html;
set_random $a 0 9; #$a 随机 从0-9取
set_random $b 0 9; #$b 随机 从0-9取
set $ereg "[0-$b]";
if ( $a ~ $ereg ){ #$a 如果 正则匹配 0-$b
echo 'a: $a is lte b: $b ereg: $ereg';
}
if ( $a !~ $ereg ){ #$a 如果 正则不匹配 0-$b
echo 'a: $a is gt b: $b ereg: $ereg';
}
}
求大牛来实现...
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。