首页 > 技术文章 > redis安装,修改配置文件,多实例部署 redis-server

chuijingjing 2018-11-23 22:24 原文

redis 安装

解压:

[root@Aliyun software]# tar -xvf redis-3.2.11.tar.gz

进入redis根目录:

[root@Aliyun software]# cd redis-3.2.11/

编译安装:

[root@Aliyun redis-3.2.11]# make && make install

启动:

[root@Aliyun redis-3.2.11]# redis-server

利用默认启动的命令,占用端口,后台守护进程,内部其他配置参数都是写死的。

登陆:

[root@Aliyun redis-3.2.11]# redis-cli

启动客户端连接redis服务,redis-cli -p(端口) -h(登录的服务的ip地址);不添加任何参数和选项直接使用redis-cli将会默认登录6379,默认使用ip 127.0.0.1

如果想在同一个操作控制台启动服务和客户端

启动客户端时可以使用后台运行命令

[root@Aliyun redis-3.2.11]# redis-server &(修改守护进程的开启状态完成后台运行)

停止redis服务:

1 占用控制台的redis服务直接ctrl+c停止服务

2 在后台运行服务的时候,登陆客户端

6379>shutdown;

3 检查后台运行的redis服务

[root@Aliyun redis-3.2.11]# ps -ef | grep redis

redis-server 表示redis服务

*:表示能够访问当前redis服务的所有ip地址,都可以

如果列出一系列的ip地址,除这些ip意外的所有访问redis服务的请求都被拒绝

redis 修改配置文件

单实例单线程的redis进程不足以高效率使用cpu和内存资源,所以一般来讲redis在同一台机器上要启动多个进程完成多实例部署;默认占用6379的情况下无法完成直接的3个实例启动,这里我们需要了解如何通过指定配置文件,将多实例部署在linux上

启动redis服务的命令redis-server 没有加载任何配置文件指定各种各样的配置信息(端口指定,ip绑定,后台运行)

例如在根目录存在一个配置文件的模板(大部分与默认启动的配置相同)redis.conf

#redis-server 配置文件的名称

 

配置文件(在启动时指定的配置文件,核心的配置文件)

/redis根目录/redis.conf

p61 bind 用#注释掉

如果需要绑定监听的ip(客户端只有通过被绑定的ip才可以利用 redis-cli -h ip地址链接服务器)

bing 127.0.0.1 106.75.101.219(外网可访问当前服务器的ip)

一旦用#注释bind,没有任何限制,只要可以链接服务器,都允许使用redis

p80 保护模式不启动

保护模式开启,需要登录密码,改成no

p84 6379是默认端口(要启动其他的redis实例需要修改端口)

p105 当客户端空闲时间达到一小时,就会自动断开连接,0秒表示

不启用超时配置

p128 daemonize 设置成yes让redis服务器启动有守护进程管理

(后台执行)

p150 对应不同的redis实例,pid的文件名称需要和端口同名

每个进程在linux或者其他操作系统中都会占用pid号,当系统中的进程过多时,需要查找redis进程号可能比较麻烦,直接打开pid文件查看即可

P163 logfile 需要指定,利用端口号命名,放到redis根目录

save 900(秒) 1(变动的数据条数)

当900以内,至少有1条数据变动,看是flush保存数据到文件

save 300 10

300秒以内至少10条数据变动,保存文件

save 60 10000

P237,指定dump的持久化文件,每个服务单独指向一个文件,

重启时,数据不会错乱

redis 多实例部署

启动第二和第三个redis实例

redis-server redis.conf(指定启动文件)

编辑利用vim 的替换命令

:%s/6379/6380/g

 

需要第二个实例的配置文件

需要第三个实例的配置文件

拷贝redis.conf,用redis6380.conf,redis6381.conf

将拷贝的文件中只修改与端口有关内容

port

pid文件

6381的略

 

启动另外两个节点

#redis-server redis6380.conf

#redis-server redis6381.conf

#ps -ef|grep redis

指定端口登录客户端redis-cli -p [端口号] -h  [ip]

#redis-cli -p 6380

#redis-cli -p 6381

 

推荐阅读