redis的主从配置方法详解

 更新时间:2018年09月13日 17:22:47   投稿:wdc  
今天为大家介绍下linux系统下redis的主从配置方法,Linux系统下的redis的主从配置方法非常简单下面是具体的操作步骤

Linux系统下的redis的主从配置方法非常简单,下面给大家分享一下redis的主从配置方法具体的操作步骤

环境介绍:

OS:oracle linux 5.6

redis:redis-2.6.8

master rac1 192.168.2.101

slave    rac2 192.168.2.102

下载地址:

http://redis.googlecode.com/files/redis-2.6.8.tar.gz

安装配置主从redis

1. 主节点配置

[root@rac1 opt] tar zxvf redis-2.6.8.tar.gz
[root@rac1 opt] cd redis-2.6.8
[root@rac1 redis-2.6.8]# make
[root@rac1 redis-2.6.8]# cp src/redis-server /usr/local/bin/
[root@rac1 redis-2.6.8]# cp redis.conf /etc/redis_master.conf
[root@rac1 redis-2.6.8]# cat /etc/redis_master.conf 
# If port 0 is specified Redis will not listen on a TCP socket.

port 6379 #此端口是redis默认的,可以不改

复制软件到从节点

[root@rac1 opt]# scp -r redis-2.6.8 rac2:/opt

2. 从节点配置

[root@rac2 redis-2.6.8]# cp src/redis-server /usr/local/bin/
[root@rac2 redis-2.6.8]# cp redis.conf /etc/redis_slave.conf
# If port 0 is specified Redis will not listen on a TCP socket.

port 6389 #修改为slave节点的自定义端口

# slaveof <masterip> <masterport>
slaveof 192.168.2.101 6379 

此步最关键,添加上master的IP或主机及端口号

3. 启动redis服务

启动master节点

[root@rac1 ~]# redis-server /etc/redis_master.conf > redis_master.log 2>&1 &

&可以使命令在后台的执行,不影响屏幕使用。

  _._             
   _.-``__ ''-._            
  _.-`` `. `_. ''-._   Redis 2.6.8 (00000000/0) 64 bit
 .-`` .-```. ```\/ _.,_ ''-._         
( '  ,  .-` | `, )  Running in stand alone mode
|`-._`-...-` __...-.``-._|'` _.-'|  Port: 6379
| `-._ `._ /  _.-' |  PID: 477
 `-._ `-._ `-./ _.-' _.-'         
|`-._`-._ `-.__.-' _.-'_.-'|         
| `-._`-._  _.-'_.-' |   http://redis.io  
 `-._ `-._`-.__.-'_.-' _.-'         
|`-._`-._ `-.__.-' _.-'_.-'|         
| `-._`-._  _.-'_.-' |         
 `-._ `-._`-.__.-'_.-' _.-'         
  `-._ `-.__.-' _.-'          
   `-._  _.-'           
    `-.__.-'            
[477] 12 Mar 16:43:30.319 # Server started, Redis version 2.6.8
[477] 12 Mar 16:43:30.319 # 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.
[477] 12 Mar 16:43:30.319 * The server is now ready to accept connections on port 6379
[root@rac1 ~]# ps -ef|grep redis
root  5930 14334 0 16:56 pts/1 00:00:02 redis-server /etc/redis_master.conf
root  7250 14334 0 17:03 pts/1 00:00:00 grep redis

启动slave节点

[root@rac2 ~]# redis-server /etc/redis_slave.conf > redis_slave.log 2>&1 &
[1] 32507
[32507] 12 Mar 17:51:55.346 * Max number of open files set to 10032
    _._             
   _.-``__ ''-._            
  _.-`` `. `_. ''-._   Redis 2.6.8 (00000000/0) 64 bit
 .-`` .-```. ```\/ _.,_ ''-._         
( '  ,  .-` | `, )  Running in stand alone mode
|`-._`-...-` __...-.``-._|'` _.-'|  Port: 6389
| `-._ `._ /  _.-' |  PID: 32507
 `-._ `-._ `-./ _.-' _.-'         
|`-._`-._ `-.__.-' _.-'_.-'|         
| `-._`-._  _.-'_.-' |   http://redis.io  
 `-._ `-._`-.__.-'_.-' _.-'         
|`-._`-._ `-.__.-' _.-'_.-'|         
| `-._`-._  _.-'_.-' |         
 `-._ `-._`-.__.-'_.-' _.-'         
  `-._ `-.__.-' _.-'          
   `-._  _.-'           
    `-.__.-'            
[32507] 12 Mar 17:51:55.350 # Server started, Redis version 2.6.8
[32507] 12 Mar 17:51:55.350 # 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.
[32507] 12 Mar 17:51:55.350 * The server is now ready to accept connections on port 6389
[32507] 12 Mar 17:51:56.348 * Connecting to MASTER...
[32507] 12 Mar 17:51:56.349 * MASTER <-> SLAVE sync started
[32507] 12 Mar 17:51:56.495 * Non blocking connect for SYNC fired the event.
[32507] 12 Mar 17:51:57.014 * Master replied to PING, replication can continue...
[32507] 12 Mar 17:51:57.028 * MASTER <-> SLAVE sync: receiving 18 bytes from master
[32507] 12 Mar 17:51:57.029 * MASTER <-> SLAVE sync: Loading DB in memory
[32507] 12 Mar 17:51:57.037 * MASTER <-> SLAVE sync: Finished with success

[root@rac2 ~]# ps -ef|grep redis
root  321 29770 0 17:54 pts/1 00:00:00 grep redis
root  32507 29770 0 17:51 pts/1 00:00:00 redis-server /etc/redis_slave.conf

4. 验证主从复制

master节点数据输入

[root@rac1 ~]# telnet 192.168.2.101 6379
Trying 192.168.2.101...
Connected to rac1.localdomain (192.168.2.101).
Escape character is '^]'.
rpush data 1
:1
rpush data 1
:2
lrange data 0 -1
*2
$1
1
$1
1

slave节点验证

[root@rac1 ~]# telnet 192.168.2.102 6389
Trying 192.168.2.102...
Connected to rac2.localdomain (192.168.2.102).
Escape character is '^]'.
lrange data 0 -1
*2
$1
1
$1
1
quit
+OK
Connection closed by foreign host.

好了,到此主从redis已经配置完成并成功运行了,Linux系统下的redis主从配置方法操作很简单只要接步骤认真配置基本都可以配置成功

相关文章

  • Redis中List列表常用命令总结

    Redis中List列表常用命令总结

    Redis中的List API提供了一些操作列表的命令,这篇文章主要给大家介绍了关于Redis中List列表常用命令的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • Redis缓存数据库表(列单独缓存)的示例代码

    Redis缓存数据库表(列单独缓存)的示例代码

    在Redis中缓存数据库表数据,而不使用JSON结构来表示value,通常意味着我们会将数据库表的每一行数据映射为Redis中的一个或多个键值对,这篇文章主要介绍了Redis缓存数据库表(列单独缓存),需要的朋友可以参考下
    2024-03-03
  • 深入理解redis删除策略和淘汰策略

    深入理解redis删除策略和淘汰策略

    每隔一段时间就扫描一定数据的设置了过期时间的key,并清除其中已过期的keys,本文主要介绍了深入理解redis删除策略和淘汰策略,感兴趣的可以了解一下
    2024-08-08
  • redis如何设置database个数

    redis如何设置database个数

    这篇文章主要介绍了redis如何设置database个数的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Redis和Memcached的区别详解

    Redis和Memcached的区别详解

    这篇文章主要介绍了Redis和Memcached的区别详解,本文从各方面总结了两个数据库的不同之处,需要的朋友可以参考下
    2015-03-03
  • redis如何清理缓存

    redis如何清理缓存

    本文主要介绍了redis如何清理缓存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Redis高级数据类型Hyperloglog、Bitmap的使用

    Redis高级数据类型Hyperloglog、Bitmap的使用

    很多小伙伴在面试中都会被问道 Redis的常用数据结构有哪些?可能很大一部分回答都是 string、hash、list、set、zset,但其实还有Hyperloglog和Bitmap,本文就来介绍一下
    2021-05-05
  • Redis实现订单自动过期功能的示例代码

    Redis实现订单自动过期功能的示例代码

    这篇文章主要介绍了Redis实现订单自动过期功能的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • 详解基于redis实现的四种常见的限流策略

    详解基于redis实现的四种常见的限流策略

    限流算法在分布式领域是一个经常被提起的话题,当系统的处理能力有限时, 如何阻止计划外的请求继续对系统施压,这是一个需要重视的问题。除了控制流量,限流还有一个应用目的是控制用户行为,避免垃圾请求
    2021-06-06
  • Redis总结笔记(二):C#连接Redis简单例子

    Redis总结笔记(二):C#连接Redis简单例子

    这篇文章主要介绍了Redis总结笔记(二):C#连接Redis简单例子,需要的朋友可以参考下
    2015-01-01

最新评论