redis用了很久,它虽然在多机部署方面不如memcache,但从单机及低配置方面来讲,相对优势太大,也就是配置低的机器上面,它缓存的文件,命中率及响应速度,要优于memcache太多,因为偶从来只看实际效果,至于那些大型多机配置下,memcache是否直比这个快,偶也从未实际测试过,所以不需要讨论。
从 php5.5就开始用,一直到现在的7.2.x,最之前5.5 – 7.1用的memcache,后来到了7.2就一直在用redis,因为偶自己也从ecshop这类系统转到了wordpress平台方面,听说最新的php7.3更快,而官方memcache早在3年前就停止了开发,虽然国外民间作者在github一直编译memcache/memcached php7版本,但偶认为也该是放弃它的时候了,全面转移到redis才是正确方向,因为官方还在不断更新和发布dll,这就足够。下面写下这个缓存的配置方法。
//php.ini 末尾添加代码
1 2 3 4 5 6 7 8 9 10 | [igbinary] extension=php_igbinary.dll igbinary.compact_strings=On session.serialize_handler=igbinary apc.serializer=igbinary [redis] extension=php_redis.dll session.save_handler = redis session.save_path = "tcp://127.0.0.1:6379" |
注意下igbinary这个,必须在redis之前才能运行,那个是个序列缓存,和redis有些区别,都可以用来缓存数据库和会话sessions。
下载的php_igbinary.dll和php_redis.dll需要放在php的ext目录,另外redis还需要安装服务端,它相当于memcache的memcached服务端,windows下面直接下载Redis-x64-3.2.100.msi,装到服务器上它就会自动开机启动服务端。
//清除缓存命令
1 2 3 4 5 6 | //清除缓存 cd C:\Program Files\redis redis-cli -p 6379 flushall flushdb |