zoukankan      html  css  js  c++  java
  • 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 的了~ 
     

    原文链接

  • 相关阅读:
    Linux常见问题解决
    (转)CoreDNS:Kubernetes内部域名解析原理、弊端及优化方式
    (转)Go sync.WaitGroup的用法
    (转)5个维度对 Kubernetes 集群优化及压测方案
    使用 Alpine 作为基础镜像时可能会遇到的常见问题的解决方法
    提前预防K8s集群资源不足的处理方式配置
    docker runc升级
    Nginx常见问题解决
    DNS泛域名解析应用(nip.io)
    使用Velero备份Kubernetes集群
  • 原文地址:https://www.cnblogs.com/jzy996492849/p/6944703.html
Copyright © 2011-2022 走看看