开发者社区> 问答> 正文

安装并设置以 Unix Socket 运行的 Redis-Server




介绍


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
将 unixsocket 和 unixsocketperm 前的 # 去掉,并将 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:~#

展开
收起
妙正灰 2017-07-06 11:22:38 9612 0
1 条回答
写回答
取消 提交回答
  • 优秀文章-欢迎进行技术分享,感谢你的支持!
    2017-07-08 05:52:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ApsaraDB for Redis——与创客同行 立即下载
微博的Redis定制之路 立即下载
云数据库Redis版的开源之路 立即下载