前置条件:
1.编辑/etc/sysctl.conf将vm.overcommit_memory设置为1,并执行sysctl vm.overcommit_memory=1使其立即生效
值为1-表示内核允许超量使用内存直到用完为止
2.配置大内存页面
临时生效:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
永久生效:
cat >> /etc/rc.d/rc.local <<EOF if test -f /sys/kernel/mm/transparent_hugepage/enabled;then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi EOF
3.关闭交换内存
临时关闭: swapoff -a
永久关闭: 编辑/etc/fstab,注释掉swapfile行
下载编译安装:
wget https://github.com/redis/redis/archive/refs/tags/7.0-rc2.tar.gz tar -xzvf 7.0-rc2.tar.gz cd redis-7.0-rc2/ make make install PREFIX=/opt/redis/redis-install-dir
检查:
root@yan-virtual-machine:/opt/redis/redis-install-dir# cd /opt/redis/redis-install-dir/ root@yan-virtual-machine:/opt/redis/redis-install-dir# ls bin root@yan-virtual-machine:/opt/redis/redis-install-dir# cd bin/ root@yan-virtual-machine:/opt/redis/redis-install-dir/bin# ls redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server
二进制文件说明:
redis-benchmark | redis-check-aof | redis-check-rdb | redis-cli | redis-sentinel | redis-server |
---|---|---|---|---|---|
性能基准测试命令 | aof检测修复工具 | rdb检测修复工具 | 客户端命令工具 | 哨兵命令工具 | 服务端命令 |
把源码目录的redis.conf文件复制到安装目录的conf/目录下,并且修改名称为redis_6379.conf.
修改redis_6379.conf:
属性名 | 属性值 | 含义 |
---|---|---|
port | 6379 | 启动端口(默认6379) |
bind | 0.0.0.0 | 允许访问的ip |
pidfile | /opt/redis/redis-install-dir/run/redis_6379.pid | 进程文件 |
logfile | /opt/redis/redis-install-dir/log/redis_6379.log | 日志文件 |
daemonize | yes | 后台启动 |
dbfilename | dump_6379.rdb | rdb文件名 |
appendfilename | appendonly_6379.aof | aof文件名 |
appenddirname | appendonlydir_6379 | aof目录名 |
appendonly | no | 不开启aof持久化模式 |
dir | /opt/redis/redis-install-dir/data | 数据目录(最好使用绝对路径) |
protected-mode | no | 禁用保护模式 |
在/opt/redis/redis-install-dir下创建对应目录,结果如下:
root@yan-virtual-machine:/opt/redis/redis-install-dir# tree . ├── bin │ ├── redis-benchmark │ ├── redis-check-aof -> redis-server │ ├── redis-check-rdb -> redis-server │ ├── redis-cli │ ├── redis-sentinel -> redis-server │ └── redis-server ├── conf │ └── redis_6379.conf ├── data ├── log │ └── redis_6379.log └── run └── redis_6379.pid
启动redis:
./bin/redis-server ./conf/redis_6379.conf
一台机器启动多实例:
cp redis_6379.conf redis_6380.conf #把配置文件中6379用6380替换 sed -i 's/6379/6380/g' redis_6380.conf ./bin/redis-server ./conf/redis_6380.conf
redis-cli连接redis-server:
./bin/redis-cli -p 6380