linux下redis的进程,linux下redis安装和简单使用

redis是一个基于内存的亦可持久化日志型、key-value数据库,redis可支持的key-value类型特别多,这是redis较其他缓存产品的一大优势,常用的key-value有:字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(sort set)等,redis使用时加载到内存当中,可以处理高并发的请求,redis的事务具有原子性,对于单个事务,要么做,要么不做。redis支持master-slave模式的数据备份,类似于MySQL的主从备份。

环境:

Centos6.5

iptables关闭和selinux为disabled

redis安装:

redis安装比较简单,到redis官网下载redis的tar.gz安装包,也可wget下载

457f8cfda3f84caa6a6354eeb56f77cc.png

解压redis到你想安装的目录,进入解压目录

0263aeea188d902928ca267bf27a860a.png

执行,make && make install,执行成功后,进入src/目录,会看到redis-server、redis-cli,这是启动redis服务器和客户端启动的命令

7903ff39b3eab21634c5b70c4fbe4e23.png

这样redis就安装完成。

redis服务器启动:进入redis安装目录下的src/,执行./redis-server,如果按配置文件执行就是./redis-server ../redis.conf

32261b9174bd851be867f7abf0bbf638.png

默认情况redis是前端启动的,可以修改配置文件来更改设置,进入解压目录下的配置文件redis.conf

48481319f5db7d32bacf9c8d8fab91f3.png

把daemonize后的no改为yes,以守护进程启动,按配置文件执行./redis-server ../redis.conf,使用netstat -anplt | grep redis可以看到redis server状态

5a8b38f64cb4863da0853fe746d325b9.png

由于我这台机器做有其他配置,所以看着有点不一样,第一次以守护进程启动应该看到有一个开启6379端口的redis-server

redis配置文件部分解释

bind --------------------------绑定的网卡

protected-mode ----------保护模式

port --------------------------绑定端口,默认端口为6379

daemonize -----------------开启方式

pidfile ------------------------进程pid的存放路径

save行到dir行是RDB(快照)方式实现数据可持久化的相关配置

1f293b7205f2b03d20898e089c517a24.png

redsi实现数据可持久化的另一种方式是AOF,对应配置文件的

cfe1e8be0da6f487275ef8fa106dff64.png

默认AOF方式是关闭的

redis可以处理数据的高并发,但如果太多请求也会响应不过来,为提高redis效率,可以搭建redismaster-slave集群,master可读可写,slave负责读,搭建非常简单,本文搭建一主三从,在四台机器上搭建安装redis,主服务器master不做操作,在每台从服务器slave的redis配置文件中加入slaveof master-ip master-port即可,在每台服务器启动客户端

c414faef49f74981dd11f60d89230d9f.png

redis客户端启动(默认是从127.0.0.1:6379启动的):进入redis安装目录下的src/,执行./redis-cli,如果连接ip就用:./redis-cli -h ipaddr 例:./redis-cli -h 192.168.174.130 ,如果按照配置文件设置的端口启动:./redis-cli -p port 例:./redis-cli -p 6381

mater启动,查看master状态

8c4753b2f770edb891506a4245adc6cb.png

slave启动,查看服务器状态

fcdbf8a332e348faf7b2fb2240ad96a8.png

查看master的key

9db3305831bac863c2e8985d2c3a3444.png

查看slave的key

d4f7c5282efa88a94c0860bc152fcb1b.png

可以发现slave已经同步备份master的key,master-slave模式还可以实现数据备份。

master-slave模式如果master宕机后,redis服务就中断了,为保证redis服务的高可用性,redis本身提供sentinel(哨兵)来保证redis服务的高可用性,当mater宕机后,当符合sentinel配置的要求后,自动切换slave为master,当上一个master再次恢复之后,自动成为slave

sentinel配置文件

21f075ab84bffddc9cecbeaaccf4008c.png

sentinel配置文件部分详解

bind -----------------------绑定的网卡

protected-mode --------保护模式

port -----------------------绑定端口,默认端口为26379

daemonize ------------开启方式

logfile ------------------日志生成路径

sentinel monitor mymaster 192.168.174.130 6382 1 ---------指定master-ip以及端口,不用指定slave,sentinel可以自己获取,最后的1是指当有几台sentinel发现master宕机才开始选出新的master

默认情况sentinel也是前端启动,而且配置文件无daemonize行,可自行添加

哨兵模式开启:./redis-server ../sentinel.conf --sentinel

查看哨兵状态可以用tail -f跟踪sentinel日志文件

bccef1f7a75f346b8f82ac175c030ded.png

哨兵模式关闭:./redis-cli -p 26379 -h ipaddr shutdown

在本次实验中发现当master shutdown时,主从并未切换

报错:failover-abort-not-elected

解决办法;查看redis配置文件是否配置protected-mode yes,如果没有,在sentinel配置文件配置protected-mode no即可,如果有,则在protected配置文件配置protected-mode yes,另外sentinel也应绑定本地ip,可以参考上边sentinel配置文件,这是修改过的配置。

将master shutdown

6ccf0405de91d31ea1fba7023126d218.png

查看sentine日志可以发现主从切换日志

773646e15a2576a240eadc7eaaf60bdf.png

我搭建的一开始是192.168.174.132为master,后slave192.168.174.130成为master,实验成功。这里应该注意,当实现数据可持久化时,如果用的RDB方式,当主从切换时有可能会丢失部分数据,因为RDB的快照是每四五分钟才做一次,而当使用AOF时会好一些,AOF每秒执行一次同步写入磁盘,但会过多消耗cpu资源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值