redis主从

主机名

ip

node01(主)

192.168.6.71

node02(从)

192.168.6.72

  • 分别在两台机器上面安装redis
wget https://codeload.github.com/antirez/redis/tar.gz/2.8.21
  mv 2.8.21  redis-2.8.21.tar.gz
  rsync -av redis-2.8.21.tar.gz node02:/root/
  tar xf redis-2.8.21.tar.gz -C  /usr/local/src/
  cd /usr/local/src/
  cd redis-2.8.21/
  make
  make PREFIX=/usr/local/redis   install
 useradd -s /sbin/nologin redis
 mkdir /usr/local/redis/etc/
  mkdir /usr/local/redis/var/
  vim /etc/init.d/redis
#!/bin/sh
#
# redis        init file for starting up the redis daemon
#
# chkconfig:   - 20 80
# description: Starts and stops the redis daemon.
# Source function library.
. /etc/rc.d/init.d/functions
name="redis-server"
basedir="/usr/local/redis"
exec="$basedir/bin/$name"
pidfile="$basedir/var/redis.pid"
REDIS_CONFIG="$basedir/etc/redis.conf"
[ -e /etc/sysconfig/redis ] && . /etc/sysconfig/redis
lockfile=/var/lock/subsys/redis
start() {
    [ -f $REDIS_CONFIG ] || exit 6
    [ -x $exec ] || exit 5
  echo -n $"Starting $name: "
    daemon --user ${REDIS_USER-redis} "$exec $REDIS_CONFIG"
  retval=$?
  echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}
stop() {
  echo -n $"Stopping $name: "
    killproc -p $pidfile $name
  retval=$?
  echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}
restart() {
  stop
  start
}
reload() {
  false
}
rh_status() {
    status -p $pidfile $name
}
rh_status_q() {
    rh_status >/dev/null 2>&1
}
case "$1" in
  start)
        rh_status_q && exit 0
  $1
        ;;
  stop)
        rh_status_q || exit 0
  $1
        ;;
  restart)
  $1
        ;;
    reload)
        rh_status_q || exit 7
  $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
  restart
        ;;
    *)
  echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart}"
  exit 2
esac
exit $?
  chmod 755 /etc/init.d/redis
  chmod 777 /usr/local/redis/var
  service redis start
  vim /etc/profile
  export PATH=/usr/local/redis/bin/:$PATH
  vim  /usr/local/redis/etc/redis.conf
daemonize yes
pidfile /usr/local/redis/var/redis.pid
port 6379
timeout 300
loglevel debug
logfile /usr/local/redis/var/redis.log
databases 16
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb
dir /usr/local/redis/var/
appendonly no
appendfsync always
  启动redis
  ps aux | grep redis
redis      4435 0.0  0.7 137376 7472 ?        Ssl  13:45   0:00 /usr/local/redis/bin/redis-server *:6379                         
root       4440 0.0  0.0 103304 892 pts/0    S+ 13:45   0:00 grep redis  
  • 主从配置

主[root@node01]# vim /usr/local/redis/etc/redis.confdaemonize yespidfile /usr/local/redis/var/redis.pidport 6379timeout 300loglevel debuglogfile /usr/local/redis/var/redis.logdatabases 16save 900 1save 300 10save 60 10000rdbcompression yesdbfilename dump.rdbdir /usr/local/redis/var/appendonly noappendfsync alwaysrequirepass alex从[root@node02 ~]# vim /usr/local/redis/etc/redis.confdaemonize yespidfile /usr/local/redis/var/redis.pidport 6379timeout 300loglevel debuglogfile /usr/local/redis/var/redis.logdatabases 16save 900 1save 300 10save 60 10000rdbcompression yesdbfilename dump.rdbdir /usr/local/redis/var/appendonly noappendfsync alwaysslaveof 192.168.6.71 6379masterauth alex

  • 重启服务 [root@node01 ~]# service redis restart[root@node02 ~]# service redis restart
  • 查看日志 [root@node01]# tailf /usr/local/redis/var/redis.log[4507] 19 Jun 13:58:55.688 - Accepted 192.168.6.72:45249[4507] 19 Jun 13:58:55.689 * Slave 192.168.6.72:6379 asks for synchronization[4507] 19 Jun 13:58:55.689 * Full resync requested by slave 192.168.6.72:6379[4507] 19 Jun 13:58:55.690 * Starting BGSAVE for SYNC with target: disk[4507] 19 Jun 13:58:55.690 * Background saving started by pid 4512[4512] 19 Jun 13:58:55.702 * DB saved on disk[4512] 19 Jun 13:58:55.702 * RDB: 6 MB of memory used by copy-on-write[4507] 19 Jun 13:58:55.747 * Background saving terminated with success
  • 测试数据 [root@node01 redis]# redis-cli -a alex127.0.0.1:6379> keys *(empty list or set)127.0.0.1:6379> set key1 alexOK127.0.0.1:6379> get key1"alex"127.0.0.1:6379> sadd set1 123(integer) 1127.0.0.1:6379> sadd set1 222(integer) 1127.0.0.1:6379> sad set1 333(error) ERR unknown command 'sad'127.0.0.1:6379> sadd set1 333(integer) 1127.0.0.1:6379> keys *1) "key1"2) "set1"[root@node02 ~]# redis-cli -a alex127.0.0.1:6379> keys *1) "key1"2) "set1"127.0.0.1:6379> SMEMBERS set11) "123"2) "222"3) "333"127.0.0.1:6379> get key1"alex"
    • 成功了

本文分享自微信公众号 - 从零开始的linux(gh_4a9d788f5f27),作者:零月

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-06-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • redis的安装

    redis安装 ]# wget https://codeload.github.com/antirez/redis/tar.gz/2.8.21 ]# mv 2...

    零月
  • linux进程和线程

    查看进程数 [root@alex ~]# ps -ef | grep nginx | wc -l 3 查看线程数 [root@alex ~]# pstree ...

    零月
  • Redis Sentinel

    Redis Sentinel高可用集群 自动故障转移(哨兵模式) ? 主机ip端口(redis-server)端口(sentinel)node1(master)...

    零月
  • Linux系统上安装JDK、Tomcat以及Redis

    首先检查Linux系统上是否有JDK,一般Linux系统会有默认的openJDK,将其卸载掉。

    Java阿呆
  • CentOS使用dnf安装Redis

    代码改变世界-coding
  • CentOS系统下安装Redis图文教程

    Redis是C语言开发的,安装Redis需要C语言的环境,如果你的linux系统没有安装界面,那么就需要在线安装C语言环境。这里测试使用的系统是CentOS6....

    itlemon
  • Redis-3.2.9集群配置(redis cluster)

    本文参考官方文档而成:http://redis.io/topics/cluster-tutorial。经测试,安装过程也适用于redis-3.2.0。

    一见
  • 新手学Linux(五)----Linux下安装Redis

    Redis是一个开源的,先进的 key-value 存储可用于构建高性能,可扩展的 Web 应用程序的解决方案。它支持存储的value类型很多,包括strin...

    令仔很忙
  • Redis 集群教程:入门级的Redis集群使用指南

    摘要:2018年10月 Redis 发布了最新稳定版本 5.0 版本,推出了各种新特性,其中一点是放弃 Ruby的集群方式,改为使用 C语言编写的 redis...

    须臾之余
  • 详细讲解 Redis 的两种安装部署方式

    Redis 是一款比较常用的 NoSQL 数据库,我们通常使用 Redis 来做缓存,这是一篇关于 Redis 安装的文章,所以不会涉及到 Redis 的高级特...

    黄泽杰

扫码关注云+社区

领取腾讯云代金券