• macbook 源码安装 redis6.2.6


    获取源码

    创建安装目录

    • 此时创建 /usr/local/redis-6.2.6 目录,然后创建软连接 /usr/local/redis 到该目录:
      cd /usr/loca/
      sudo mkdir redis-6.2.6
      sudo ln -sf redis-6.2.6 redis
      sudo chown -R dongling:staff redis-6.2.6 redis # 将目录owner修改为当前用户,是为了当前用户能够读写该目录,之后当前用户可以直接将 redis 安装到这里
      

    编译安装

    • 解压后,进入 /usr/local/src/redis-6.2.6 目录。执行如下命令,查看编译步骤会如何执行

      [21:12:28 dongling@noah redis-6.2.6]106$ make -n
      cd src && /Library/Developer/CommandLineTools/usr/bin/make all
      /bin/sh: pkg-config: command not found
      echo ""
      echo "Hint: It's a good idea to run 'make test' ;)"
      echo "" 
      

      可以看到,命令行会进入 src 目录执行编译命令。在 src 目录下,果然找到一个 Makefile。打开 src/Makefile,可以看到结尾的 install 命令如下:

      install: all
      	@mkdir -p $(INSTALL_BIN)
      	$(call MAKE_INSTALL,$(REDIS_SERVER_NAME),$(INSTALL_BIN))
      	$(call MAKE_INSTALL,$(REDIS_BENCHMARK_NAME),$(INSTALL_BIN))
      	$(call MAKE_INSTALL,$(REDIS_CLI_NAME),$(INSTALL_BIN))
      	@ln -sf $(REDIS_SERVER_NAME) $(INSTALL_BIN)/$(REDIS_CHECK_RDB_NAME)
      	@ln -sf $(REDIS_SERVER_NAME) $(INSTALL_BIN)/$(REDIS_CHECK_AOF_NAME)
      	@ln -sf $(REDIS_SERVER_NAME) $(INSTALL_BIN)/$(REDIS_SENTINEL_NAME)
      
      uninstall:
          rm -f $(INSTALL_BIN)/{$(REDIS_SERVER_NAME),$(REDIS_BENCHMARK_NAME),$(REDIS_CLI_NAME),$(REDIS_CHECK_RDB_NAME),$(REDIS_CHECK_AOF_NAME),$(REDIS_SENTINEL_NAME)}
      

      可以知道 make install 命令会把文件安装到 $(INSTALL_BIN) 这个目录下。其定义如下:

      PREFIX?=/usr/local
      INSTALL_BIN=$(PREFIX)/bin
      INSTALL=install
      PKG_CONFIG?=pkg-config
      

      src/Makefile中的变量INSTALL_BIN 修改为 INSTALL_BIN=$(PREFIX)/redis,这样就可以将redis安装到我们想要的 /usr/local/redis 目录下了。

    • 编译并安装
      回到 redis-6.2.6 源码目录,执行如下命令:

      make  # 编译
      make install # 安装
      

      并将 redis-6.2.6/redis.conf 文件 copy 到 /usr/local/redis/conf 目录

      redis.conf 中的配置项做如下修改:

      daemonize yes # 启动的 redis-server 会以后台守护进程的方式运行
      ### ...
      dir /usr/local/redis/data # 将数据目录指定在固定的位置
      ### ....
      appendonly yes # 打开appendonly 持久化
      

      这样,redis-server 会以后台守护进程的方式运行;生成的 dump.rdb 和 appendonly.aof 文件会固定放置在 /usr/local/redis/data 目录。

    配置环境变量

    • 修改配置文件 ~/.bashrc,将redis目录添加到PATH环境变量中

      REDIS_HOME=/usr/local/redis
      export PATH=$PATH:$REDIS_HOME
      alias startredis='redis-server ${REDIS_HOME}/conf/redis.conf'
      alias redis='redis-cli'
      

      环境变量生效后,直接在命令行执行 startredis 即可启动redis-server;
      在命令行执行 redis 即可使用客户端连接 redis-server

  • 相关阅读:
    伴郎
    MySQL出现Waiting for table metadata lock的场景浅析
    相同name,取最小的id的值,mysql根据相同字段 更新其它字段
    Sequence contains no elements
    Check if List<Int32> values are consecutive
    comparison of truncate vs delete in mysql/sqlserver
    Are query string keys case sensitive?浏览器种输入url附带的参数是否区分大小写
    Understanding Action Filters (C#) 可以用来做权限检查
    糖果缤纷乐攻略
    DNGuard HVM Unpacker(3.71 trial support and x64 fixed)
  • 原文地址:https://www.cnblogs.com/dongling/p/15518557.html
Copyright © 2020-2023  润新知