参考文档 redis.com.cn/topics/redi…
前置操作
编辑文件/etc/sysctl.conf,追加2行
#sysctl文件追加的参数
vm.overcommit_memory = 1
net.core.somaxconn = 1024
#保存退出后,刷新系统内核参数
[root@syndic02 redis]# sysctl -p
关于这两个内核参数的解释:
vm.overcommit_memory
指定了内核针对内存分配的策略,其值可以是0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存。
net.core.somaxconn
定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数,默认值为128,在某些应用下可能会限制接收新TCP连接侦听队列的大小。
1、安装
cd /opt/; wget http://download.redis.io/releases/redis-2.8.19.tar.gz
tar -xf redis-2.8.19.tar.gz
cd redis-2.8.19
make
2、拷贝二进制文件
编译完成后就会生成相关的二进制可执行文件,为了便于管理。
创建3个目录分别用来存放可执行二进制文件、配置文件、数据持久化文件。
将src目录下的二进制文件redis-benchmark、redis-check-aof、redis-check-dump、redis-cli、redis-sentinel(非必需)、redis-server拷贝到bin目录,
配置文件redis.conf、sentinel.conf(非必需)拷贝到etc目录。
mkdir -p /usr/local/redis/{bin,db,etc}
cp src/redis-server /usr/local/redis/bin/
cp src/redis-benchmark /usr/local/redis/bin/
cp src/redis-check-aof /usr/local/redis/bin/
cp src/redis-check-dump /usr/local/redis/bin/
cp src/redis-cli /usr/local/redis/bin/
cp src/redis-sentinel /usr/local/redis/bin/
cp redis.conf /usr/local/redis/etc/
cp sentinel.conf /usr/local/redis/etc/
组件介绍
-
redis-server:Redis服务器的daemon启动程序,对应的默认配置文件redis.conf。
-
redis-benchmark:Redis性能测试工具。
-
redis-cli:Redis命令行操作工具,类似于mysql的控制台。
-
redis-check-aof/redis-check-dump:修复损坏的数据文件file.aof/dump.rdb。
-
redis-sentinel:用于管理多个Redis服务器(instance),为集群提供监控、提醒、自动故障迁移服务,对应的配置文件sentinel.conf。
3 按需调整默认配置的相关参数并启动
vim /usr/local/redis/etc/redis.conf 修改以下配置
#以守护进程的模式运行实例
daemonize yes
#指定日志文件的位置。默认为空,以守护进程运行时日志默认会发送到/dev/null设备,不以守护进程运行时日志输出到标准输出设备。
logfile "/var/log/redis.log"
#指定存放数据库文件的文件夹
dir "/usr/local/redis/db"
配置systemd服务
vim /etc/systemd/system/redis.service
[unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl start redis.service
systemctl enable redis.service
systemctl status redis.service
ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis
yum install net-tools
netstat -tpln