本文最后更新于 2211 天前,其中的信息可能已经有所发展或是发生改变。
前言
其实17年的云栖大会呢,除了达摩院和新零售之外,还是有蛮多值得关注的产品的,ApsaraCache 就是一个值得关注的好产品。ApsaraCache 是基于 Redis 4.0 的分支开发的,并不是前期发布的信息中基于 2.8 分支开发的。在短连接、内存满时的回收、耗时指令执行等场景下表现优秀。
地址: https://github.com/alibaba/ApsaraCache
教程
那本文怎么能错过安装 ApsaraCache 的教程呢,嘿嘿。下面将介绍的是在 Ubuntu 和 Debian 下安装 ApsaraCache。
安装依赖
apt-get update
apt-get install build-essential tcl git unzip -y
下载源码
git clone https://github.com/alibaba/ApsaraCache.git
cd ApsaraCache
编译
同 Redis 一样,ApsaraCache 也不需要 ./configure
这一步骤。
make
注: 不要习惯性地 make install
因为默认安装是在 /usr/local/bin
下,不够清晰容易乱。
安装
一、 创建 /usr/local/redis/
目录,并将编译好的二进制文件和配置文件复制过去,并在 /usr/local/bin/
创建连接。
mkdir -p /usr/local/redis/{bin,etc,var}
cp src/{redis-benchmark,redis-check-aof,redis-check-rdb,redis-cli,redis-sentinel,redis-server} /usr/local/redis/bin/
cp redis.conf /usr/local/redis/etc/
ln -s /usr/local/redis/bin/* /usr/local/bin/
二、 修改配置文件的一些内容
sed -i 's@pidfile.*@pidfile /var/run/redis.pid@' /usr/local/redis/etc/redis.conf
sed -i "s@logfile.*@logfile /usr/local/redis/var/redis.log@" /usr/local/redis/etc/redis.conf
sed -i "s@^dir.*@dir /usr/local/redis/var@" /usr/local/redis/etc/redis.conf
sed -i 's@daemonize no@daemonize yes@' /usr/local/redis/etc/redis.conf
sed -i "s@^# bind 127.0.0.1@bind 127.0.0.1@" /usr/local/redis/etc/redis.conf
三、 修改运行内存,这里将修改为服务器内存的八分之一,例如你有 1024M 内存,那就会分配给 ApsaraCache 以 128M 的内存。
Mem=`free -m | awk '/Mem:/{print $2}'`
[ -z "`grep ^maxmemory /usr/local/redis/etc/redis.conf`" ] && sed -i "s@maxmemory <bytes>@maxmemory <bytes>\nmaxmemory `expr $Mem / 8`000000@" /usr/local/redis/etc/redis.conf
创建用户并赋予权限
创建 redis 用户和群组并为 /usr/local/redis/ 目录赋予权限。
id -u redis >/dev/null 2>&1
[ $? -ne 0 ] && useradd -M -s /sbin/nologin redis
chown -R redis:redis /usr/local/redis/{var,etc}
添加到系统服务
cd /etc/init.d
wget https://gist.githubusercontent.com/ivmm/067180dd4e07865b5b046a24c6999f11/raw/813e0f330f2d5382c0e50e1a069b9de39f7325c6/redis-server
chmod a+x redis-server
update-rc.d redis-server defaults
这样就 ApsaraCache 就可以实现开机启动了,我们也可以通过:
service redis-server start # 启动 ApsaraCache
service redis-server stop # 关闭 ApsaraCache
service redis-server restart # 重启 ApsaraCache
service redis-server status # 查看状态 ApsaraCache
别忘了运行启动哟!