WordPress Redis缓存详细设置参数

Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。Redis也常用于Mysql数据库缓存。

我们一般之前都喜欢文件缓存或者是Memcached缓存,现在云计算这么发达,Redis缓存更具有优势。

 

之前文章

WordPress 宝塔面板 使用Redis缓存加速网站

wordpress 加速技巧 使用Redis为网站提速

今天来继续发一下设置参数

 

插件基于

Redis-Object-Cache

 

远程使用Redis缓存

如果你想要让你的Wordpress调用远程的Redis缓存(像阿里云、腾讯云就提供此类的服务),编辑wp-config.php指定Redis缓存的地址、端口、密码以及数据库等,如果配合上面的WP_CACHE_KEY_SALT设置,你又可以实现远程+多站点Redis缓存了。代码如下:

define('WP_REDIS_HOST', 'wppao.com'); #默认是127.0.0.1
define('WP_REDIS_PORT', '6379'); #默认是6379
define('WP_REDIS_DATABASE', '0'); # redis 数据库(第一个0 ,然后是1,依次类推)
define('WP_REDIS_PASSWORD', ''); # redis 数据库密码,默认是

Redis完整配置命令如下,请根据自己的需要使用:

#Redis完整配置如下:
define('WP_REDIS_CLIENT', 'pecl'); // 指定用于与Redis通信的客户端, pecl 即 The PHP Extension Community Library
define('WP_REDIS_SCHEME', 'tcp'); // 指定用于与Redis实例进行通信的协议
define('WP_REDIS_HOST', '127.0.0.1'); // Redis服务器的IP或主机名
define('WP_REDIS_PORT', '6379'); // Redis端口
define('WP_REDIS_DATABASE', '0'); // 接受用于使用该SELECT命令自动选择逻辑数据库的数值
define('P_REDIS_PASSWORD', ''); // Redis密码
define('WP_CACHE_KEY_SALT', 'wp_'); // 设置所有缓存键的前缀(Wordpress多站点模式下使用)
define('WP_REDIS_MAXTTL', '86400');

检测Redis缓存生效

使用以下命令就可以查看到本机的Redis缓存是否生成了:

redis-cli monitor

进入到你的网站,刷新页面,你就可以看到有数据输出了:

 

多站点启用Redis缓存

 

https://www.random.org/strings/

如果你的服务器上运行了多个Wordpress,这个时候就需要WP_CACHE_KEY_SALT来给每个网站设置一个值,这样多个网站就可以共同启用Redis缓存了(字符串值可以使用上面的随机生成网址生成)。

 

define( 'WP_CACHE_KEY_SALT', 'hpWQo8vfb3' );
# define('WP_CACHE', true);

 

禁用某个Redis缓存

使用了Redis缓存后,有些主题或者是插件可能出现不兼容的问题,例如挖站否论坛使用的插件Anspress就不兼容Redis,所以我们需要在wp-config.php中排除插件或者主题用到的Groups,代码如下:

define('WP_REDIS_IGNORED_GROUPS',array('comment','counts','plugins','themes','anspress','ap','ap_prefetch_activities','ap_q_id_activity','ap_users_reputation','ap_qameta','ap_prefetch_activities','ap_subscriber','ap_votes_queries','ap_vote'));

我们在Redis Object Cache插件中可以看到忽略的参数,表示已经生效了。

 

清空Redis

我们可以在插件下面进行清空,也可以进入VPS手动命令行清空。

Redis缓存还可以导致插件和主题修改不生效,手动强制删除Redis缓存的命令如下:

#进入redis
redis-cli
#清空
flushall
#退出
exit