WP 使用走 Unix Sockets 的 Redis 作为对象缓存

前面有介绍过使用 APCu 作为对象缓存的 Lcache,其优点就是不走 TCP/IP 已获得更好的 性能 。后来我发现 Redis 和 Memcached 其实也可以走 Unix Sockets 而避免走 TCP/IP 而带来性能瓶颈  
 
介绍  
 
当 Redis 走 Unix Sockets 是在 OSI 模型中而没有哦组 TCP/IP,可以实现约 25% 的性能提升。  
 
 
 
 
 
安装  
 
 
以  Ubuntu  16.04 LTS 为例,  
 
 
一、安装 Redis
  1. apt-get install redis-server
 
 
二、查看目前 Redis 运行在那个用户上  
 
 
  1. root@mf8.biz:~# sudo ps aux | grep redis
  2. sudo: unable to resolve host www.mf8.biz
  3. redis    29409  0.0  0.8  37224  8796 ?        Ssl  10:43   0:00 /usr/bin/redis-server 127.0.0.1:6379
 
 
可见 Redis 运行在 redis 上  
 
 
三、添加到 Apache、Nginx 和 PHP-FPM 所在的用户组,一般来说软件源安装的都是 www-data,编译的都是 www,但是不绝对,我这里是在 www-data
  1. usermod -g www-data redis
 
 
四、创建 unix socket 所在文件夹
  1. mkdir -p /var/run/redis/
 
 
五、赋予权限
  1. chown -R redis:www-data /var/run/redis
 
 
六、 修改 配置 文件,我的是在 /etc/redis/redis.conf  
将 unixsocket 和 unixsocketperm 前的 # 去掉,并将 unixsocketperm 的值由 700改为 777,否则将不能清理缓存  
 
 
  1. # Specify the path for the Unix socket that will be used to listen for
  2. # incoming connections. There is no default, so Redis will not listen
  3. # on a unix socket when not specified.
  4. #
  5. unixsocket /var/run/redis/redis.sock
  6. unixsocketperm 777
 
 
 
七、重启
  1. service redis-server restart
 
 
八、如何正常运行的话,通过 ls -lh 命令查看会返回如下结果:  
 
 
  1. root@MF8.BIZ:~# ls -lh /var/run/redis
  2. total 4.0K
  3. -rw-r--r-- 1 redis www-data 6 Mar 14 10:56 redis-server.pid
  4. srwx------ 1 redis www-data 0 Mar 14 10:56 redis.sock
  5. root@MF8.BIZ:~#
 
 
 
WP设置  
 
 
一、安装  Redis Object Cache   插件  
 
 
二、在 wp-config.php 文件的 <?php 后添加,顺序不能变:  
 
 
  1. define('WP_REDIS_PATH', /var/run/redis/redis.sock);
  2. define('WP_REDIS_SCHEME', unix);
 
 
 
 

三、然后 Redis Object Cache 插件就会用走 Unix Socket 的 Redis 作为对象缓存而不是 TCP/IP 的了~ 

原文链接

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值