单机环境搭建

  • 官网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. DataTable转换成实体

    public static class DataTableToEntity { /// <summary> /// 将DataTable数据源转换成实体类 /// </summary ...

  2. vue-webpack 引入echarts 注意事项

    0.执行教程 https://www.cnblogs.com/goloving/p/8654176.html1.在index 中创建 div <!DOCTYPE html> <htm ...

  3. vue 解决报错1

    [Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available ...

  4. 关于gevent的一些理解(二)

    3 实际应用 1 zeromq和gevent: zeromq的介绍请参看:http://www.infoq.com/cn/news/2010/09/introduction-zero-mq 假设你已经 ...

  5. spring cloud 消费者

    本消费者  加了 Hystrix, 为了后续监控用. 1. 依赖: <parent> <groupId>org.springframework.boot</groupId ...

  6. 编写jQuery插件(二)——jQuery插件类型和机制

    jQuery插件类型 jQuery插件主要有3种类型: 1.封装对象方法的插件 这种插件类型是最常见的一种插件,它将对象方法封装起来,对通过选择器获取的jQuery对象进行操作. 2.封装全局函数的插 ...

  7. Inspector视图中的get/set使用

    using UnityEngine; using System.Collections; public class Test : MonoBehaviour { public int width { ...

  8. jsp页面重定向

    <%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncodi ...

  9. servlet第三篇

    Servlet是一个供其他Java程序(Servlet引擎)调用的Java类,它不能独立运行,它的运行完全由Servlet引擎来控制和调度. 针对客户端的多次Servlet请求,通常情况下,服务器只会 ...

  10. Android模拟器内安装应用

    一.通过apk安装器安装应用 1.下载apk安装器(网上随便搜一个就可以) 2.下载要测试的应用的apk,我这里下载的是微信的apk 3.打开apk安装器,点击右上角的Devices选择要安装到的设备 ...