迹忆博客
当前位置: 主页 > 学无止境 > 数据库 > 文章

Redis 在 centos下安装方法及常见问题解决

发布时间: 2017-08-18 作者: 迹忆 浏览次数:

本篇我们来介绍一下如何在Centos下安装redis。其实,安装步骤很简单,只是中间可能会出现一些问题,这是值得我们所关注的。

下面我们先来看一下如何安装。

首先下载redis安装包

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

然后解压安装

# tar -zxvf redis-4.0.1.tar.gz -C /usr/local/
# cd /usr/local/redis-4.0.1.tar.gz
# make

上述命令顺利运行之后,src中的命令就可以使用了

# src/redis-server   //开启redis服务

同样,我们可以使用src中的命令来连接该服务

# src/redis-cli
> set onmpw bar
OK
> get onmpw
bar

是不是很简单。没错,确实是非常简单,简单到我们都开始怀疑人生了。

然而,实际情况并不会像我们所想的那样,问题往往会出现在实际操作中。在安装过程中,当我们执行make命令时,有些情况下会报如下错误

zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
#include <jemalloc/jemalloc.h>
                               ^
compilation terminated.
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/software/redis-4.0.1/src'
make: *** [all] Error 2

这个错误是什么意思呢?其实我们仔细阅读README会发现有下面一段话:

Allocator
---------
 
Selecting a non-default memory allocator when building Redis is done by setting
the `MALLOC` environment variable. Redis is compiled and linked against libc
malloc by default, with the exception of jemalloc being the default on Linux
systems. This default was picked because jemalloc has proven to have fewer
fragmentation problems than libc malloc.
 
To force compiling against libc malloc, use:
 
    % make MALLOC=libc
 
To compile against jemalloc on Mac OS X systems, use:
    
    % make MALLOC=jemalloc

上面这段话的意思是说关于内存分配器allocator,如果有MALLOC这个环境变量,就会用这个环境变量去构建redis。Redis在linux系统上除了默认使用jemalloc外,还会使用libc来进行编译。默认会先使用jemalloc来编译,因为测试证明jemalloc比libc会出现更少的问题。

当然,如果我们系统上没有jemalloc,那我们可以通过MALLOC环境变量来指定使用libc进行编译。

所以我们可以使用如下命令来进行编译。

# make MALLOC=libc

这样我们就可以正常编译了。

一般情况下,在make执行成功以后,redis会提醒对函数进行测试

# make test

这样问题就又来了,不幸会报如下错误

You need tcl 8.5 or newer in order to run the Redis test
make: *** [test] Error 1

这个很好理解,就是tcl版本太低或者我们系统中根本就不存在tcl。很简单,我们安装高版本tcl就可以了。

# wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
# tar xzvf tcl8.6.1-src.tar.gz  -C /usr/local/
# cd /usr/local/tcl8.6.1/unix/
# ./configure
# make && make install

安装完成以后,我们再去redis安装目录执行

# make test

这时就可以正常执行检测了。

到此,我们就可以正常使用我们的redis了。但是,我们发现,在使用redis命令的过程中需要输入命令所在目录

# src/redis-cli

或者进入src目录

# cd src
# ./redis-cli

这样使用起来感觉非常不方便。要解决这个问题也很简单。

# cd redis   //进入redis安装目录。
# make install

然后我们就可以在任何地方直接使用redis命令了。

赞助
迹忆博客

上一篇:Select语句实践1【案例】

下一篇:没有了

除非注明转载,本站文章均为原创,欢迎转载,转载请以链接形式注明出处

本文地址: