375 字 | 1 分钟

Build and run

requirements

  • g++ (required by c++17, version >= 5.5)
  • cmake (version >= 2.8.0)

GCC5.5.0 安装

  • 安装
  1. wget https://ftp.gnu.org/gnu/gcc/gcc-5.5.0/gcc-5.5.0.tar.gz 下载软件
  2. tar -zxvf gcc-5.5.0.tar.gz
  3. cd gcc-5.5.0
  4. ./contrib/download_prerequisites // 下载mpfr,gmp,mpc 所需环境
  5. mkdir build
  6. cd build
  7. ../configure --prefix=/usr/local/gcc-5.5.0/ -enable-checking=release -enable-languages=c,c++ -disable-multilib
  8. make
  9. make install
  • 设置环境变量 或者 ~/.bash_profile
  1. PATH=$PATH:$HOME/bin:/usr/local/gcc-5.5.0/bin
  2. export CC=/usr/local/gcc-5.5.0/bin/gcc
  3. export CXX=/usr/local/gcc-5.5.0/bin/g++
  4. export LD_LIBRARY_PATH=/usr/local/gcc-5.5.0/lib64:/usr/local/lib:$LD_LIBRARY_PATH
  • 配置libstdc++.so.6 在 gcc 编译目录下找到最新的 libstdc++.so,拷贝至/usr/lib64/,运行命令ldconfig
  1. cp ./x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.21 /usr/lib64/
  2. ldconfig

Build

  1. $ git clone https://github.com/Tencent/Tendis.git --recursive
  2. $ git submodule update --init --recursive
  3. $ mkdir bulid
  4. $ cd build & cmake ..
  5. $ make -j12

cmake参数

编译release版

  1. cmake ..

编译debug版,通常可以得到更多的日志,但性能较差。如果跑单元测试,建议打开。

  1. # 开启debug模式编译
  2. cmake .. -DTENDIS_DEBUG=ON

run

  1. $ ./build/bin/tendisplus tendisplus.conf

TEST

  1. $ sh ./testall.sh

测试包含基于gtest的单元测试以及redis原生tclsh测试 GTest Tendis存储版 的单元测试基于

  • gtest, 如果想运行某一个测试,可以使用 —gtest_filter=Command.*, 比如:

    1. ./build/bin/command_test --gtest_filter=Command.RenameCommandTTL
  • Redis 原生测试 另外 Tendis存储版 也引入 Redis 原生的 tcl 测试。

    1. sh ./redistest.sh