Redis介绍——Linux环境Redis安装全过程和遇到的问题及解决方案

Redis介绍——Linux环境Redis安装全过程和遇到的问题及解决方案

大家好,又见面了,我是全栈君。

一:redis的入门介绍:
首先贴出官网;
英文:https://redis.io/
中文:http://www.redis.cn/
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.下载redis安装包,然后使用解压命令进行解压

tar -zxvf redis.tar.gz

2.解压完成,进入解压的目录,使用make命令

[root@localhost redis-3.0.4]# make

然后遇到错误了!如下所示:老长一串了!大概看看就行!

cd src && make all
make[1]: Entering directory `/root/dufy/redis/redis-3.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 `/root/dufy/redis/redis-3.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 `/root/dufy/redis/redis-3.0.4/deps' (rm -f .make-*) echo STD=-std=c99 -pedantic >> .make-settings echo WARN=-Wall -W >> .make-settings echo OPT=-O2 >> .make-settings echo MALLOC=jemalloc >> .make-settings echo CFLAGS= >> .make-settings echo LDFLAGS= >> .make-settings echo REDIS_CFLAGS= >> .make-settings echo REDIS_LDFLAGS= >> .make-settings echo 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-settings echo PREV_FINAL_LDFLAGS= -g -ggdb -rdynamic >> .make-settings (cd ../deps && make hiredis linenoise lua jemalloc) make[2]: Entering directory `/root/dufy/redis/redis-3.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 hiredis
cd hiredis && make static
make[3]: Entering directory `/root/dufy/redis/redis-3.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] 错误 127 make[3]: Leaving directory `/root/dufy/redis/redis-3.0.4/deps/hiredis'
make[2]: *** [hiredis] 错误 2
make[2]: Leaving directory `/root/dufy/redis/redis-3.0.4/deps' make[1]: [persist-settings] 错误 2 (忽略) CC adlist.o /bin/sh: cc: command not found make[1]: *** [adlist.o] 错误 127 make[1]: Leaving directory `/root/dufy/redis/redis-3.0.4/src'
make: *** [all] 错误 2

怎么解决呢,安装进行不下去了,仔细看错误,发现make[3]: gcc:命令未找到 ,是gcc的问题啊!
解决方案在这里:使用yum进行安装gcc
备注:如果你的虚拟机可以直接上网,那么请直接使用下面命令:

yum -y install gcc

否则请先搭建本地yum源,使用光盘搭建,然后在使用下面命令:

yum -y install gcc

3.在此使用make命令

[root@localhost redis-3.0.4]# make

然后发现又有问题出现了?出错信息如下:

cd src && make all
make[1]: Entering directory `/root/dufy/redis/redis-3.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] 错误 1
make[1]: Leaving directory `/root/dufy/redis/redis-3.0.4/src'
make: *** [all] 错误 2

备注:没有文件或者目录 ,这个是残存文件需要处理,使用命令make distclean

[root@localhost redis-3.0.4]# make distclean
cd src && make distclean
make[1]: Entering directory `/root/dufy/redis/redis-3.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 `/root/dufy/redis/redis-3.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 `/root/dufy/redis/redis-3.0.4/deps' (rm -f .make-*)
make[1]: Leaving directory `/root/dufy/redis/redis-3.0.4/src'

在此执行make命令,一切ok了!

4.备份redis.conf,启动redis服务

注:安装了软件之后需要更改配置文件最好将原始的文件备份一份出来。
(1)进入到redis的目录:

cp redis.conf redis.conf.bak  #备份redis.conf

修改redis.conf

daemonize yes
#其他的配置暂时使用默认
#默认的端口是port 6379

(2)启动redis服务
redis的启动命令放在:

/usr/local/bin

启动命令:

#redis-server 目录名称/配置文件
#redis-server /root/dufy/redis/redis-3.0.4/redis.conf

[root@localhost redis-3.0.4]# cd /usr/local/bin/ 
[root@localhost bin]# ll
总用量 13848
-rwxr-xr-x. 1 root root 4165407 617 06:19 redis-benchmark -rwxr-xr-x. 1 root root 16467 617 06:19 redis-check-aof -rwxr-xr-x. 1 root root 37703 617 06:19 redis-check-dump -rwxr-xr-x. 1 root root 4254645 617 06:19 redis-cli lrwxrwxrwx. 1 root root      12 6月  17 06:19 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 5695533 617 06:19 redis-server [root@localhost bin]# redis-server /root/dufy/redis/redis-3.0.4/redis.conf

注:#加上&号使redis以后台程序方式运行,为什么要后台运行使程序在Linux后台运行
例如:

 redis-server /root/dufy/redis/redis-3.0.4/redis.conf &

5.验证redis服务是否正常

[root@localhost bin]# redis-cli -p 6379
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set key helloworld
OK
127.0.0.1:6379> get key
"helloworld"
127.0.0.1:6379> 

[root@localhost bin]# ps -ef|grep redis
root     28047     1  0 06:39 ?        00:00:00 redis-server *:6379                                 
root     28058 24868  0 06:40 pts/1    00:00:00 grep redis

redis安装结束,谢谢!


欢迎访问我的csdn博客,我们一同成长!

不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!

博客首页:http://blog.csdn.net/u010648555

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121163.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • StackOverflow 提问艺术[通俗易懂]

    StackOverflow 提问艺术[通俗易懂]在黑客的世界里,当你拋出一个技术问题时,最终是否能得到有用的回答,往往取决于你所提问和追问的方式。本指南将教你如何正确的提问以获得你满意的答案。https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md转载于:https://www.cnblogs.com/s…

    2022年6月23日
    34
  • jedispool使用自动归还jedis解决方案「建议收藏」

    jedispool使用自动归还jedis解决方案「建议收藏」在使用Jedispool的时候遇到一个尴尬的问题。实例必须要手动归还。即jedis高版本使用jedis.close()归还。这样据说是灵活的表现。但如果必须手动调close,那么万一项目组的成员手抖忘记掉了,这就无疑会出现很严重的情况,这无疑增加了系统的脆弱性。由于我们系统是用grpc做通信机制,所以不存在通过spring管理实例的生命周期来控制,经研究决定也决定不采用Redisson.那接

    2025年9月13日
    6
  • Windows 7下安装MongoDB

    Windows 7下安装MongoDB

    2022年2月7日
    45
  • SNMP协议是什么「建议收藏」

    SNMP协议是什么「建议收藏」SNMP协议概念SNMP:简单网络管理协议(SimpleNetworkManagementProtocol)是由互联网工程任务组定义的一套网络管理协议。该协议是基于简单网络监视协议(SimpleGatewayMonitorProtocol,SGMP)制定的。SNMP可以使网络管理员通过一台工作站完成对计算机、路由器和其他网络设备的远程管理和监视。利用SNMP协议可以更好地管理和监控网络。管理工作站可以远程管理所有支持该协议的网络设备,如监视网络状态、修改网络设备配置、接收网络事件警

    2022年10月16日
    2
  • SpringBoot 配置之: 阿里druid数据库连接池 com.alibaba.druid.pool.DruidDataSource 报红「建议收藏」

    SpringBoot 配置之: 阿里druid数据库连接池 com.alibaba.druid.pool.DruidDataSource 报红「建议收藏」第一步在idea中使用官方的创建项目的工具,创建一个新项目。第二步自己添加数据源配置但是”com.alibaba.druid.pool.DruidDataSource”报红。到pom.xml中添加依赖<properties>…<druid.version>1.1.14</druid.version>……

    2022年7月23日
    85
  • python执行测试用例_java随机数random

    python执行测试用例_java随机数random前言通常我们认为每个测试用例都是相互独立的,因此需要保证测试结果不依赖于测试顺序,以不同的顺序运行测试用例,可以得到相同的结果。pytest默认运行用例的顺序是按模块和用例命名的ASCII编码

    2022年7月28日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号