centos7.x 源码编译安装 redis

下载最新稳定版的redis源码包

wget http://download.redis.io/releases/redis-stable.tar.gz

解压源码包

tar -zxvf redis-stable.tar.gz

编译环境准备

主要gcc环境准备好,其他缺什么安装什么

yum install gcc

编译源代码

进入解压后的目录

make

一切正常的话,会提示编译成功。

编译时报错:error: jemalloc/jemalloc.h: No such file or directory

某些版本的redis源码在编译时会报以上错误,网上查了一下,很多人的解决方案是使用 make MALLOC=libc 来编译,这样虽然能够解决编译报错的问题,但是会使得redis在内部使用libc的内存分配方法。redis为了性能考虑默认是使用jemalloc来分配内存的,而且jemalloc也在redis的源码包中存在。报这个错误的主要原因应该是make脚本中一些判断条件没有生效,导致没有自动编译deps目录下的依赖包。
因此正确的解决方案应该进入deps目录,手动编译jemalloc,然后返回上层目录重新编译:

cd deps
make jemalloc
cd …/
make

安装

默认目录是 /usr/local/bin/,需要root权限执行命令
可以使用 PREFIX=/XXX 参数指定安装目录,那有这个目录权限的普通用户也可以执行安装命令

make PREFIX=/home/xxx/redis install

配置服务

如果需要配置成系统服务,redis源码包中也带了解决方案

cd utils
./install_server.sh

按照提示一步一步设置下来就好了。

使用

redis服务端

有几种方式使用redis服务
在redis安装目录下,我这里是/home/xxx/redis,执行redis-server命令,此命令可以带很多参数。
默认启动:

redis-server

参数方式启动:

./redis-server --port 9999 --slaveof 127.0.0.1 6379
./redis-server /etc/redis/6379.conf --loglevel debug

配置文件方式启动:

./redis-server /path/to/redis.conf

服务方式启动(配置过服务)

/etc/init.d/redis_6379

redis客户端

在redis安装目录下执行redis-cli命令,参数-p 端口号,-h 主机名/IP

redis-cli -p 6379 -h 127.0.0.1
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
“bar”
127.0.0.1:6379>

参考资料:
Redis官网下载页面
Redis源码包中的 README.md

你可能感兴趣的:(数据库)