你可能听说过 APC/APCu、Opcache、Xcache,它们可以显着加速 WordPress 或任何类型的受支持的 php 脚本。
在本教程中,我将向你展示如何使用 Redis 对象缓存加速 WordPress,我们将继续在 CWP 上安装 Redis 缓存,所以让我们开始吧。
什么是 Redis 缓存?
如何在 CWP 控制面板,启用 Redis缓存数据库?
第 1 步 :转到 CWP控制面板
导航到底部并找到“ redis
”并选中它然后点击“ Build
”按钮,在php重建过程完成后,你可以通过以下命令检查redis是否在运行 ▼
service redis status
你会得到这样的输出(在CentOS 7上测试,CentOS 6有不同的输出,比如“ running ”)
[[email protected] ~]# service redis status Redirecting to /bin/systemctl status redis.service ● redis.service - Redis persistent key-value database Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/redis.service.d └─limit.conf Active: active (running) since Sun 2022-02-20 16:41:24 +08; 12s ago Main PID: 2486 (redis-server) Status: "Ready to accept connections" CGroup: /system.slice/redis.service └─2486 /usr/bin/redis-server 127.0.0.1:6379
此时一切都很好,现在输入以下命令,检查 php redis 是否安装好了 ▼
php -m | grep -i redis
输出将是这样的 ▼
[[email protected] ~]# php -m | grep -i redis redis [[email protected] ~]#
如果输出为 redis
,那么一切都很好,我们将继续安装 WordPress 和 Redis 的集成。
安装CWP7控制面板的方法,请看这里 ▼
如何安装CWP控制面板?CENTOS WEB PANEL配置教程
如何安装CWP控制面板? CENTOS WEB PANEL配置教程 网络推广人员用VPS建站,有众多免费或付费的控制面板可以选择。 在不知道要如何选择功能齐全的VPS控制面板时,推荐使用CWP控制面板。 什……
如何在 WordPress 启用 Redis缓存加速插件?
第 2 步 :在 WordPress 中启用 redis-object-cache 插件之前,你必须在 wp-config.php
文件中添加以下定义 ▼
define( 'WP_CACHE_KEY_SALT', 'www.chenweiliang.com
:' );
如果在一个服务器上有多个Redis,如何配置它们以使数据不会混淆?
有两种方法。
第一种方法是为不同的站点配置不同的Redis DB。
只需将以下配置添加到你的wp-config.php文件中,以便不同的站点可以使用不同的Redis数据库。
你可以从0开始递增设定不同的Redis数据库。
define( 'WP_REDIS_DATABASE', 0 );
第二种方式是不能控制Redis,必须使用同一个数据库的情况。
然后你可以在里面加入不同的salt,这样即使使用同一个数据库,数据也不会混淆 ▼
define( 'WP_CACHE_KEY_SALT', 'www.chenweiliang.com:' );
第 3 步 :登录到 WordPress后台 → 转到“插件” → “安装插件” ▼
点此进入WordPress官网 免费下载Redis Object cache插件
第 4 步 :假设你已经安装了 Redis Object cache
插件,现在导航到 Redis 设置并单击“启用对象缓存”。
WordPress启用 Redis 缓存加速插件后,它将显示“已连接”,如下图所示 ▼
特别声明:如果默认安装的程序是英文的,截图理所当然是英文的。
如何配置Redis缓存加速插件?
总的来说,直接启动就行了,或者我们可以进一步配置。
将以下配置添加到在我们的 wp-config.php文件中 ▼
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('WP_CACHE_KEY_SALT', 'www.chenweiliang.com:'); // 设置所有缓存键的前缀( WordPress 多站点模式下使用)
define('WP_REDIS_MAXTTL', '86400');
如何查看Redis缓存是否生效?
使用如下命令查看本地Redis缓存是否生成 ▼
redis-cli monitor
Redis缓存也可能会导致WordPress插件和WordPress主题修改不生效。
手动删除Redis缓存的命令▼
redis-cli flushall
#进入redis redis-cli #清空 flushall #退出 exit
查看Redis的memory配置 ▼
redis-cli info memory
返回查询结果 ▼
# Memory used_memory:24645472 used_memory_human:23.50M used_memory_rss:40558592 used_memory_rss_human:38.68M used_memory_peak:140777552 used_memory_peak_human:134.26M used_memory_peak_perc:17.51% used_memory_overhead:1619888 used_memory_startup:811872 used_memory_dataset:23025584 used_memory_dataset_perc:96.61% allocator_allocated:24964648 allocator_active:26865664 allocator_resident:37646336 total_system_memory:17179869184 total_system_memory_human:16.00G used_memory_lua:37888 used_memory_lua_human:37.00K used_memory_scripts:0 used_memory_scripts_human:0B number_of_cached_scripts:0 maxmemory:0 maxmemory_human:0B maxmemory_policy:noeviction allocator_frag_ratio:1.08 allocator_frag_bytes:1901016 allocator_rss_ratio:1.40 allocator_rss_bytes:10780672 rss_overhead_ratio:1.08 rss_overhead_bytes:2912256 mem_fragmentation_ratio:1.65 mem_fragmentation_bytes:15954144 mem_not_counted_for_evict:0 mem_replication_backlog:0 mem_clients_slaves:0 mem_clients_normal:20496 mem_aof_buffer:0 mem_allocator:jemalloc-5.1.0 active_defrag_running:0 lazyfree_pending_objects:0 lazyfreed_objects:0
以下是启动Redis缓存后,如何配置pid文件的方法 ▼
Redis找不到pid?Redis启动后如何配置pid文件位置地址
Redis启动找不到pid文件位置?Redis的pid文件在哪里?Linux怎么查看Redis进程pid文件位置地址?Linux 查找redis进程命令 ▼ps -ef | grep redis返回显示以下查询结果 ▼redis 28221……
解决Redis服务端启动失败问题
在重启VPS服务器后,Redis服务端可能会出现无法获取远程连接访问。
Redis服务端启动失败排查:解决重启无法获取远程连接访问
可以使用 systemd 运行最新版本的 Redis,你需要编辑 Redis 配置文件:
/etc/redis.conf
使用 systemd 支持构建 Redis 并配置 ▼
daemonize no
supervised auto