杰克工作室 发表于 2023-3-6 21:07

thinkphp5.0+redis(请求缓存)与thinkphp5.0+htmlcache谁更抗并发

<p>thinkphp5.0+redis(请求缓存)与thinkphp5.0+htmlcache谁更抗并发</p>

<p>在多数技术人员当中,会有不少人认为:redis内存缓存,速度当然快,当然搞并发。真的吗?来测试一下。</p>

<p>注: 两都都连接数据库,均为首页。在测试时,均清理已经存在的缓存。</p>

<p>&nbsp;</p>

<p>1、thinkphp5.0+redis(请求缓存),使用时,开启配置request_cache参数:</p>

<p><img alt="blob.png" src="data/attachment/forum/202302/28/deb0d170640e98ef8250ce7458396235.png" title="16580463461658046346_2429.png" /></p>

<p><img alt="blob.png" src="data/attachment/forum/202302/28/4001ef5c375156a7cb50bbb1b8e2ef52.png" title="16580464031658046403_6134.png" /></p>

<p>&nbsp;</p>

<p>2、request_cache设置为false,html_cache_on设置为true(此配置为扩展ReadHtmlCacheBehavior.php)</p>

<p><img alt="blob.png" src="data/attachment/forum/202302/28/b6d09ccf78e9f036d04016c5868682b3.png" title="16580467441658046744_2921.png" /></p>

<p><img alt="blob.png" src="data/attachment/forum/202302/28/877eb806efc926168d6b1dd7796aa31a.png" title="16580467741658046774_818.png" /></p>

<p>经过多次测试,请求缓存在并发时,总会有几个请求失败的情况(1-24个失败请求,应该有点类似缓存击穿,毕竟没有缓存,直接并发);但htmlcache却在并发中表现的稳稳的,没有一次请求失败,全部成功。</p>

<p>可以对比下其它参数,如rps之类的,会发现htmlcache缓存值偏小些,也就是响应的速度会慢些,毕竟硬盘存取速度相对内存存取速度会慢好多。</p>

<p>注:thinkphp5.0的请求缓存、路由缓存都会在高并发中出现请求失败的情况。</p>
页: [1]
查看完整版本: thinkphp5.0+redis(请求缓存)与thinkphp5.0+htmlcache谁更抗并发