美文网首页
redis安装

redis安装

作者: 橡皮24 | 来源:发表于2018-11-23 17:58 被阅读16次

1 简介

1.1 环境简介

系统版本:centos7

# cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)

Redis版本:redis-3.2.0

1.2 Redis简介

2 安装redis

1、下载安装包

下载地址:http://download.redis.io/releases/

2、上传解压

# cd /data/

# tar -zxvf redis-3.2.0.tar.gz

3、编译

#cd redis-3.2.0/

# make

4、报错解决

①报错内容

# make

cd src && make all

make[1]: Entering directory `/data/redis-3.2.0/src'

 CC adlist.o

/bin/sh: cc: command not found

make[1]: *** [adlist.o] Error 127

make[1]: Leaving directory `/data/redis-3.2.0/src'

make: *** [all] Error 2

②报错原因

由于没有安装gcc编译工具

③解决方法

# yum -y install gcc*

5、报错解决

①报错内容

# make

cd src && make all

make[1]: Entering directory `/data/redis-3.2.0/src'

 CC adlist.o

In file included from adlist.c:34:0:

zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory

 #include <jemalloc/jemalloc.h>

 ^

compilation terminated.

make[1]: *** [adlist.o] Error 1

make[1]: Leaving directory `/data/redis-3.2.0/src'

make: *** [all] Error 2

②报错原因

由于因为上次编译失败,有残留的文件

③解决方法

# make distclean

6、编译安装

# make && make install

7、创建相关文件

# mkdir -p /data/redis/6379/{logs,var} && mkdir -p /data/redis/bin

8、复制相关文件到/data/redis/bin下

# cd /data/redis-3.2.0/src/

# cp redis-server redis-cli redis-check-aof redis-benchmark redis-sentinel redis-server /data/redis/bin

9、复制配置文件到/data/redis/6379下

# cp /data/redis-3.2.0/redis.conf /data/redis/6379/

10、修改配置文件

安装自己的需求修改配置文件,之后会具体介绍配置文件参数。

3 系统设置

3.1 内核参数overcommit_memory

1、简介

①它是 内存分配策略

②可选值:0、1、2。

0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。

1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

2、设置

①临时设置:

# sysctl vm.overcommit_memory=1

# echo 1 > /proc/sys/vm/overcommit_memory

②永久设置

# echo "vm.overcommit_memory=1" >> /etc/sysctl.conf

# sysctl –p #生效

3.2 内核参数somaxconn

1、 简介:

该内核参数默认值一般是128(定义了系统中每一个端口最大的监听队列的长度),对于负载很大的服务程序来说大大的不够。一般会将它修改为2048或者更大(官方建议511)。

2、 设置

① 临时设置

# echo 2048 > /proc/sys/net/core/somaxconn

② 永久设置

# echo "net.core.somaxconn = 2048" >> /etc/sysctl.conf

# sysctl –p

3.3 系统最大连接数

1、简介

Linux系统默认的最大连接数为1024,redis建议最小10032.

2、设置

①临时设置

# ulimit -n 65535

③ 永久设置

注意:需要重启shell生效

# vi /etc/security/limits.conf

* soft nofile 65535

* hard nofile 65535

4 启动redis

4.1 手动启动并添加开机自启

1、启动命令

# /data/redis/bin/redis-server /data/redis/6379/redis.conf &

2、开机自启

# echo "/data/redis/bin/redis-server /data/redis/6379/redis.conf &" >> /etc/rc.local

4.2 编写systemctl文件

1、写redis.service文件。路径在/usr/lib/systemd/system目录下

# vi /usr/lib/systemd/system/redis.service

[Unit]

#基础信息

Description=Redis

#描述

After=syslog.target network.target remote-fs.target nss-lookup.target

#之后启动的程序

[Service]

#服务信息(重要)

Type=forking

#表示 ExecStart= 所设定的进程将会在启动过程中使用 fork() 系统调用

PIDFile=/data/redis/6379/redis.pid

#pid文件按照自己的路径填写

ExecStart=/data/redis/bin/redis-server /data/redis/6379/redis.conf

#启动的命令

ExecReload=/bin/kill -s HUP $MAINPID

#重新加载

ExecStop=/bin/kill -s QUIT $MAINPID

#停止服务

PrivateTmp=true

[Install]

#安装相关

WantedBy=multi-user.target

#  multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。

2、 使配置生效

# systemctl daemon-reload

3、 开启自启

# systemctl enable redis

5 报错解决

5.1 最大连接数报错

1、 报错内容

Increased maximum number of open files to 10032 (it was originally set to 1024).

2、 解决方案

①临时设置:

 # sysctl vm.overcommit_memory=1

# echo 1 > /proc/sys/vm/overcommit_memory

②永久设置

 # echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
 # sysctl –p #生效

5.2 监听队列长度

1、 报错内容

WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

2、 解决方案

①临时设置

# echo 2048 > /proc/sys/net/core/somaxconn

②永久设置

# echo "net.core.somaxconn = 2048" >> /etc/sysctl.conf

# sysctl –p

5.3 内存控制

1、报错内容

WARNING overcommit_memory is set to 0! Background save may fail under low memory condition.

 To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.

 conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

2、解决方案

①临时设置:

# sysctl vm.overcommit_memory=1

# echo 1 > /proc/sys/vm/overcommit_memory

②永久设置

# echo "vm.overcommit_memory=1" >> /etc/sysctl.conf

# sysctl –p #生效

6 常用命令

Redis支持tab,如果不是你想要的结果可以再tab一下。

1、 连接redis

# /data/redis/bin/redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379>

2、写入值

redis> set foo bar
OK

3、查询值

redis> get foo
"bar"

3、 重命名

redis>RENAME key newkey

4、 删除

redis>DEL key

5、 集群状态查看

redis>info replication

相关文章

网友评论

      本文标题:redis安装

      本文链接:https://www.haomeiwen.com/subject/bxqsqqtx.html