单机环境搭建

  • 官网http://redis.io/download下载xxx.tar.gz二进制压缩包,注意下载2.8+版本,2.8之前的版本之前从服务器不支持部分重复制,2.6之前的版本不支持setnx命令

  • 解压安装

    #解压
    tar -zxvf xxx.tar.gz
    #进入目录
    cd redisxxxx
    #编译安装到/usr/local/redis目录下
    sudo make PREFIX=/usr/local/redis install
    #从安装包中找到redis的配置文件,拷贝到根目录下
    sudo cp redis.conf /usr/local/redis
    #启动redis
    ./redis-server ../redis.conf 

主从搭建(同一台机器上搭建伪主从)

思路

一台主服务器,使用默认配置即可,一台从服务器,配置要复制的主服务 SALVEOF host port,如果你熟悉redis配合的话,你会发现默认给的配置文件里一个大项一个大项的分好了

过程

  • 按单机环境安装好redis,注意我这边由于本地环境问题,直接在redis/src目录下启动的

  • 准备两份配置文件redis_6379.conf和redis_6380.conf,修改对应的端口号

    redis_6379.conf配置如下

    # 修改启动方式为后台启动,此处为学习可以暂不开启,这样可以直接看到启动日志,生产部署也建议调试好后再启动后台方式
    daemonize no
    修改为:
    daemonize yes (后台程序方式运行)

    # 修改pid文件名
    pidfile /var/run/redis.pid
    修改为:
    pidfile /var/run/redis_6379.pid

    # 如果有密码主从服务器都需要新增相关的auth的配置

    redis_6380.conf配置如下

    # 修改启动方式为后台启动,此处为学习可以暂不开启,这样可以直接看到启动日志,生产部署也建议调试好后再启动后台方式
    daemonize no
    修改为:
    daemonize yes (后台程序方式运行)

    # 修改pid文件名
    pidfile /var/run/redis.pid
    修改为:
    pidfile /var/run/redis_6380.pid

    # 从节点新增配置复制主机,增加这一行
    slaveof 127.0.0.1 6379

    # 如果有密码主从服务器都需要新增相关的auth的配置
  • 启动,此处是mac环境通过brew安装,直接命令+指定conf方式启动

    # 启动主机器
    ./src/redis-server ../redis_6379.conf
    # 启动从服务器
    ./src/redis-server ../redis_6380.conf
  • 测试

    #连接到主服务器
    redis-cli -h localhost -p 6379
    # 查看服务器信息
    info

    # 测试主从数据是否同步,在主服务器set,在从服务器get
  • 遇到的问题

    *** FATAL CONFIG FILE ERROR ***
    Reading the configuration file, at line
    'always-show-logo yes'
    Bad directive or wrong number of arguments

    遇到这个问题的原因是,我本地的环境是mac,除了上面方式安装的redis 还有个homebrew安装的redis,通过brew info redis 命令可以看到是4.0.1版本的,我启动命令是运行的3.2.8,配置使用的4.0.1的,所以不匹配。

官方redis集群搭建

不建议使用官方提供的redis集群,如果需要支撑大体量和高可用可以考虑codis集群,但是不支持事务等特性

redis之单机和主从环境搭建的更多相关文章

  1. 分布式搜索ElasticSearch单机与服务器环境搭建

    从上方插件官网中下载适合的dist包,然后解压.进入bin目录,可以看到一堆sh脚本.在bin目录下创建一个test.sh: bin=/home/csonezp/Dev/elasticsearch-j ...

  2. Hadoop单机Hadoop测试环境搭建

    Hadoop单机Hadoop测试环境搭建: 1. 安装jdk,并配置环境变量,配置ssh免密码登录 2. 下载安装包hadoop-2.7.3.tar.gz 3. 配置/etc/hosts 127.0. ...

  3. Redis在windows下的环境搭建

    Redis在windows下的环境搭建 下载windows版本redis,,官方下载地址:http://redis.io/download, 不过官方没有Windows版本,官网只提供linux版本的 ...

  4. hbase 单机+伪分布环境搭建学习-1

    1.单机模式: (1)编辑hbase-env.sh user@EBJ1023.local:/usr/local/flume_kafka_stom/hbase_1.1.2> vim conf/hb ...

  5. Nginx 单机百万QPS环境搭建

    一.背景 最近公司在做一些物联网产品,物物通信用的是MQTT协议,内部权限与内部关系等业务逻辑准备用HTTP实现.leader要求在本地测试中要模拟出百万用户同时在线的需求.虽然该产品最后不一定有这么 ...

  6. Redis学习系列一Linux环境搭建

    1.简介 Redis是互联网技术架构中在存储系统中用的最广泛的中间件,是中高级后端工程师技术面试中面试官最喜欢问的工程技能之一.所以Redis是.Net技术开发必须掌握的技能之一.所以通过这个系列的随 ...

  7. Mariadb 10.2.8版本GTID主从环境搭建以及切换

    1.首先搭建主从 主环境:192.168.1.117 从环境:192.168.1.123 a.首先以二进制包的形式安装好MariaDB (忽略不计) b.配置环境的变量 通配 [mysqld] bin ...

  8. Zookeeper的单机&集群环境搭建

    单机环境的安装 首先下载ZK的二进制安装包:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/ 将安装包上传到Linux上: 进行解 ...

  9. CentOS 7.4 MySQL 5.7.20主从环境搭建(M-S)

    MySQL主从原理: 一,master记录二进制日志,在每个事务更新数据完成之前,master在二进制日志中记录这些改变.mysql将事务写入二进制日志,即使事务中的语句都是交叉执行的.在事件写入二进 ...

随机推荐

  1. AS3 巧用事件api简化鼠标拖动流程

     拖动,按照一般人的定义,拖动就是鼠标按下的时候移动鼠标,这里面有三个过程,分别是按下.移动鼠标和弹起.以stage为例,大家的实现步骤通常如下:(PS:此处不讨论startDrag和stopDrag ...

  2. salt之pillar组件

    pillar也是salt最重要的组件之一,其作用是定义与被控主机相关的任何数据,定义好的数据可以被其他组件使用,如模板.state.API等.在pillar中定义的数据与不同业务特征的被控主机相关联, ...

  3. 【344】Jupyter relevant problems

    参考:Jupyter Notebook Tutorial: The Definitive Guide 参考:ipython notebook 如何修改一开始打开的文件夹路径? Ref: Install ...

  4. C#中导出EXCEL服务器端不用安装OFFICE

    在实际开发过程中,有时候服务器端没安装OFFICE,你和服务器管理员去商量安装个OFFICE的时候,管理员很倔犟的不给你安装的时候,这个时候就可以考虑我这个方法是实现导出EXCEL了.如果你导出的EX ...

  5. 最短路径-Dijkstra算法(转载)

    注意:以下代码 只是描述思路,没有测试过!! Dijkstra算法 1.定义概览 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始 ...

  6. Ansible介绍/安装/入门

    http://docs.ansible.com/ansible/ https://galaxy.ansible.com/ Ansible是一个IT自动化工具. 它可以配置系统,部署软件,并编排更先进的 ...

  7. Spring/AOP框架, 以及使用注解

    1, 使用代理增加日志, 也是基于最原始的办法 import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; ...

  8. 使用maven将项目热发布到tomcat7的坑

    首先是配置tomcat的用户权限问题,最好是配置最大的权限,要不然会报错,我之前就是一直报错 <role rolename="manager"/> <user u ...

  9. python之多线程队列

    # 一共有以下3种队列# 1.先进先出# 2.后进先出# 3.存储数据的时候可设置优先级的队列,设置不同的优先级,取的时候按照优先级的顺序来取 下面介绍一下队列的方法,如果要使用队列,则需要导入一个模 ...

  10. OC 和 swift 冒泡排序

    swift 版 var numbers = [17, 28, 36, 15, 39] print("排序前\(numbers)") for i in 0..<numbers. ...