Redis介绍——Linux(ubuntu)环境Redis安装全过程和遇到的问题及解决方案
一:redis的入门介绍:
1.是什么
--REmote DIctionary Server(远程字典服务器)
--完全开源免费,用c语言编写的,遵守BSD协议
--高性能(key/value)分布式内存数据库,基于内存运行。并支持持久化的NoSql数据库。
--Redis于其他key-value产品的三个特点
(1)可以持久化,到磁盘
(2)数据类型多,list,set,zset,hash的数据结构的存储
(3)支持数据备份,即master-slave模式
2.能干嘛
--内存的存储和持久化
--发布,订阅消息系统
--定时器、计算器
3.去哪里下载
--官网 www.redis.cn
4.怎么玩
--数据类型的基本操作
--持久化和复制
--事务的控制 - 部分成,不保证事务
--......
二:Redis安装全过程和遇到问题解决方案
1.新建目录
sudo mkdir software
2.切换目录
cd software
3.下载redis到software目录中
sudo wget http://download.redis.io/releases/redis-5.0.4.tar.gz
4.解压完成,进入解压的目录,使用make命令
安装make
apt-get update
sudo apt-get update
sudo apt-get install ubuntu-make
[test@localhost redis-5.0.4]# sudo make
然后遇到错误了!如下所示:老长一串了!大概看看就行!
make[1]: Entering directory `/software/redis/redis-5.0.4/src'
rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-dump redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html
(cd ../deps && make distclean)
make[2]: Entering directory `/software/redis/redis-5.0.4/deps'
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(rm -f .make-*)
make[2]: Leaving directory `/software/redis/redis-5.0.4/deps'
(rm -f .make-*)echo STD=-std=c99 -pedantic >> .make-settingsecho WARN=-Wall -W >> .make-settingsecho OPT=-O2 >> .make-settingsecho MALLOC=jemalloc >> .make-settingsecho CFLAGS= >> .make-settingsecho LDFLAGS= >> .make-settingsecho REDIS_CFLAGS= >> .make-settingsecho REDIS_LDFLAGS= >> .make-settingsecho PREV_FINAL_CFLAGS=-std=c99 -pedantic -Wall -W -O2 -g -ggdb -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include >> .make-settingsecho PREV_FINAL_LDFLAGS= -g -ggdb -rdynamic >> .make-settings
(cd ../deps && make hiredis linenoise lua jemalloc)
make[2]: Entering directory `/software/redis/redis-5.0.4/deps'
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(rm -f .make-*)
(echo "" > .make-ldflags)
(echo "" > .make-cflags)
MAKE hirediscd hiredis && make static
make[3]: Entering directory `/software/redis/redis-5.0.4/deps/hiredis'
gcc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb net.c
make[3]: gcc:命令未找到
make[3]: *** [net.o] 错误 127make[3]: Leaving directory `/software/redis/redis-3.0.4/deps/hiredis'
make[2]: *** [hiredis] 错误 2make[2]: Leaving directory `/software/redis/redis-3.0.4/deps'
make[1]: [persist-settings] 错误 2 (忽略)
CC adlist.o
/bin/sh: cc: command not found
make[1]: *** [adlist.o] 错误 127make[1]: Leaving directory `/software/redis/redis-5.0.4/src'make: *** [all] 错误 2
怎么解决呢,安装进行不下去了,仔细看错误,发现make[3]: gcc:命令未找到 ,是gcc的问题啊!
安装gcc
sudo apt-get install gcc
5.再此使用make命令
然后发现又有问题出现了?出错信息如下:
cd src && make allmake[1]: Entering directory `/software/redis/redis-5.0.4/src' CC adlist.o在包含自 adlist.c:34的文件中:zmalloc.h:50:31: 错误:jemalloc/jemalloc.h:没有那个文件或目录zmalloc.h:55:2: 错误:#error"Newer version of jemalloc required"make[1]: ***[adlist.o]错误1make[1]: Leaving directory `/software/redis/redis-5.0.4/src'make: ***[all]错误2
备注:没有文件或者目录 ,这个是残存文件需要处理,使用命令make distclean
sudo make distclean
6.再此执行sudo make 命令,一切ok了!
ps:
现在,我们可以通过键入以下内容来编译Redis二进制文件:
make
在编译二进制文件之后,运行测试套件以确保所有内容都正确构建。你可以通过输入以下命令来完
make test
这通常需要几分钟的时间才能运行。一旦完成,您可以通过键入以下命令将二进制文件安装到系统上:
sudo make install
7.备份redis.conf,启动redis服务
注:安装了软件之后需要更改配置文件最好将原始的文件备份一份出来。
(1)进入到redis的目录:
cd /software/redis/redis-5.0.4
(2)备份redis.conf
cp redis.conf redis.conf.bak
(3)修改redis.conf
sudo vi redis.conf
(4):/+关键字 直接定位到查找位置
daemonize yes#其他的配置暂时使用默认#默认的端口是port 6379
(5)#切换到安装目录
cd /software/redis/redis-5.0.4/src/
(6)启动redis
./redis-server
(7)切换到命令行
Ctr+C
(8)验证redis服务是否正常
test@test:/software/redis/redis-5.0.4/src$ ./redis-cli
redis安装结束
三、redis随系统自启动
在Redis安装路径(就是上一步make的路径)之下,找到utils目录,其中有个redis_init_script文件。将其作为自启动配置文件。如图。
将redis_init_script文件重新命名为redisd,作为系统启动服务名(以d结尾表示是自启动服务,约定俗成)。
修改redisd文件,注意要在文件头部加上两句注释来设定该服务的运行级别:
#!/bin/sh
# chkconfig: 2345 90 10
文件正文部分参照:
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"
其中,6379是redis端口号;CONF是redis配置文件,将在下一步设置;EXEC、CLIEXEC是服务所在路径,在上步make install时,已经放入默认路径/usr/local/bin中,如图:
步骤4:设置Redis配置文件
在redis安装目录下,找到redis.conf文件,如图
将这个文件复制到 /etc/redis 目录,并改名为“6379.conf”,然后修改此文件内容。
设置daemonize为yes,使服务可以后台运行:
daemonize yes
设置log文件路径:(ps:先新建文件,并赋权限chmod)
logfile /var/log/redis/redis-server.log
设置持久化文件存放路径:(ps:先新建文件,并赋权限chmod)
dir /var/lib/redis
执行开机自启动命令
执行:
sudo chmod +x /etc/init.d/redisd
然后执行:
sudo update-rc.d redisd defaults
附:常用redis命令
启动Redis服务可以执行:
service redisd start
关闭服务:
service redisd stop
重启服务:
service redisd restart
在控制台中进入redis客户端:
redis-cli
重启系统:
sudo reboot