安装并设置以 Unix Socket 运行的 Redis-Server
本文最后更新于 2505 天前,其中的信息可能已经有所发展或是发生改变。

介绍

Redis-Servr 是可持久化的日志型、Key-Value数据库,目前被广泛应用于缓存领域。阿里云的ApsaraCache 也是基于 Redis 开发的。

Redis 的所有数据都存储在内存中,同时也提供对这些数据的持久化。因此将网站需要向数据库获取的内容缓存到Redis就可以实现储存到内存的效果,实现性能提升。

同时如果没有外网使用的需求,我们还可以让 Redis 以 Unix Socket 的方式运行,以避免 TCP/IP 的性能瓶颈,在高访问场景实现 25% 的性能提升。

安装

适用系统:Ubuntu、Debian

一、安装 Redis

apt-get install redis-server

Ubuntu系统如果追求新版本,还可以使用 PPA 源:

add-apt-repository ppa:chris-lea/redis-server
apt update
apt install redis-server

Debian系统如果追求新版本,还可以使用 DotDeb 源:

安装方法:https://www.dotdeb.org/instructions/

二、查看目前 Redis 运行在那个用户上

root@mf8.biz:~# sudo ps aux | grep redis
sudo: unable to resolve host www.mf8.biz
redis    29409  0.0  0.8  37224  8796 ?        Ssl  10:43   0:00 /usr/bin/redis-server 127.0.0.1:6379

可见 Redis-Server 运行在 redis

三、添加用户组

usermod -g www-data redis

四、创建 unix socket 所在文件夹

mkdir -p /var/run/redis/

五、赋予权限

chown -R redis:www-data /var/run/redis

六、修改配置文件 /etc/redis/redis.conf

unixsocketunixsocketperm 前的 # 去掉,并将 unixsocketperm 的值由 700 改为 777,否则将不能清理缓存

# Specify the path for the Unix socket that will be used to listen for
    # incoming connections. There is no default, so Redis will not listen
    # on a unix socket when not specified.
    #
    unixsocket /var/run/redis/redis.sock
    unixsocketperm 777

七、重启

service redis-server restart

八、查看是否正常运行,通过 ls -lh 命令查看会返回如下结果:

root@MF8.BIZ:~# ls -lh /var/run/redis
    total 4.0K
    -rw-r--r-- 1 redis www-data 6 Mar 14 10:56 redis-server.pid
    srwx------ 1 redis www-data 0 Mar 14 10:56 redis.sock
    root@MF8.BIZ:~# 

评论

  1. caaol
    7年前
    2017-6-21 12:45:51

    nginx helper里面要怎么设置呢?

    • 妙正灰
      博主
      caaol
      7年前
      2017-6-21 13:39:27

      nginx helper依旧只能走tcp,软件不支持socket协议

本文评论已关闭
上一篇
下一篇