简介
Redis是一个使用ANSI C语言编写的 开源 key-value内存 数据库 系统,Redis支持字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等数据结构类型,并提供多种语言的API。
配置编译流程
1.获取源代码
本文档所测试版本为:Redis-4.0.9
软件获取路径为:http://download.redis.io/releases/
Redis官网:https://redis.io/
2.编译源代码
本文以Redis-4.0.9为例,下载redis-4.0.9源码,并编译安装。
1)执行如下命令,获取Redis源码。
wget http://download.redis.io/releases/redis-4.0.9.tar.gz
2)执行如下命令,解压包。
tar -zxvf redis-4.0.9.tar.gz
3)执行如下命令,进入deps目录。
cd redis-4.0.9/deps
4)执行如下命令,编译Redis依赖库。
make -j4 hiredis lua jemalloc linenoise
5)依次执行如下命令,编译Redis。
cd ..
make -j4
make install
3.配置编译好的软件
1)执行如下命令,建立redis配置文件。
cp redis.conf /usr/local/etc/
2)执行如下命令,配置redis为后台启动。
vim /usr/local/etc/redis.conf
将daemonize no 改成daemonize yes。
3)设置Redis开机启动。
a.执行如下命令,将Redis启动脚本放置/etc/init.d/目录下,并命名为redis。
cp redis-4.0.9/utils/redis_init_script /etc/init.d/redis
b.执行如下命令,修改脚本内容。
vim /etc/init.d/redis
修改内容如下图:
c.设置服务开启启动。
chkconfig redis on
4.测试已完成编译的软件
1)执行如下命令,查看Redis版本。
redis-server -v
系统会显示如下类似信息,表示Redis的版本是4.0.9。
[root@ecs-1-0002 redis-4.0.9]# redis-server -v
Redis server v=4.0.9 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=1e80e86f2ae3f0d8
2)执行如下命令,查看Redis的CLI版本。
redis-cli -v
系统会显示如下类似信息,表示Redis的CLI版本是4.0.9。
redis-cli 4.0.9
3)执行如下命令,启动redis-server。
service redis start
系统会显示如下类似信息,表示Redis启动完成。
Starting Redis server...
20525:C 19 Jun 20:43:25.941 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
20525:C 19 Jun 20:43:25.941 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=20525, just started
20525:C 19 Jun 20:43:25.941 # Configuration loaded
4)执行如下命令,使用redis-cli连接server,并执行k-v请求。
[root@ecs-1-0002 redis-4.0.9]# redis-cli
127.0.0.1:6379> set huawei arm
OK
127.0.0.1:6379> get huawei
"arm"
127.0.0.1:6379> del huawei
(integer) 1
127.0.0.1:6379> get huawei
(nil)
已知问题汇总
问题现象
编译Redis时出现如下报错:
问题根因
出现此错误是因为缺少hiredis,lua,jemalloc,linenoise库。
问题解决
1) 执行如下命令,进入Redis目录。
cd redis-4.0.9/deps
2) 执行如下命令,编译Redis依赖库。
make -j4 hiredis lua jemalloc linenoise