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