本系列介绍Redis,从安装到使用,太简单的使用不介绍了,介绍一些比较有意思的功能,也会介绍一些原理性的东西。本篇先介绍Redis的单实例安装。Redis还可以做到高可用,通过哨兵和集群可以做到高可用,这两个后面做介绍。

一、准备工作

本系列使用的系统是CentOS 7.5,先查看你的电脑是否安装了gcc,因为安装Redis时是用源码编译安装的,可以使用下面的命令来检查

gcc -v

如果没安装会提示没有命令没找到,可以用yum命令一键安装

yum -y install gcc gcc-c++ kernel-devel

二、下载源码包

用wget命令下载源码包

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

你也可以在下面的网站页面找到你想安装到版本,如果在生产环境还是建议使用稳定版

http://download.redis.io/releases/

比如这里我下载到/usr/local/src目录下,然后进入在这个目录,解压文件

tar -zcvf redis-5.0.8.tar.gz

二、编译安装

解压后进入到redis-5.0.8目录进行编译

make malloc=libc

编译成功后会在redis-5.0.8/src目录下生成一些二进制的文件,这些文件就是可执行的redis相关的文件了。这时候redis会提供叫你执行make test来测试各个功能模块的可用性,你可以测试一下:

make test

如果出来以下的错误

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

说明你的机器上缺少tcl或者版本太低,可以安装或升级tcl

[root@localhost tmp]# wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
[root@localhost tmp]# tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/
[root@localhost tmp]# cd /usr/local/tcl8.6.1/unix/
[root@localhost unix]# ./configure
[root@localhost unix]# make
[root@localhost unix]# make install

安装完成后就可以执行make test

没出问题就可以执行以下命令来启动redis服务:

./src/redis-server

如果你看到以下的启动信息说明成功了

                _._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 5.0.8 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 49122
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'

我们新开一个终端端口,用面的命令来启动redis客户端

./src/redis-cli

然后就可以操作redis了:

[root@localhost src]# ./redis-cli
127.0.0.1:6379> set one 1
OK
127.0.0.1:6379> get one
"1"

我们先按下Ctrl+C终止redis,然后进行安装,这一步是可选的

执行以下命令安装redis到/usr/local/bin目录

cd src		#先进入src目录
make install #把二进制文件安装到/usr/local/bin目录下

这么做的好处是可以在任意目录下执行redis相关的脚本,你也可以把redis安装到指定目录,命令如下:

cd src		#先进入src目录
make PREFIX=/path/to/install install #把二进制文件安装到/path/to/install目录下

三、启动redis服务

假定现在的工作目录是redis的根目录。

  1. 用默认的方式启动
cd src
./redis-server
  1. 可以指定配置文件
cd src
./redis-server /path/conf/redis.conf #指定了配置文件
  1. 在命令中带上配置参数
cd src
./redis-server --port 9999 --replicaof 127.0.0.1 6379
./redis-server /etc/redis/6379.conf --loglevel debug

建议使用方式2

四、配置文件

如果直接启动redis服务,会发现它会一直占用前端,我们可以通过修改配置文件做一些变动,在redis的根目录下有个redis.conf文件,我们先对它备份

cp redis.conf redis.conf.bak

然后编辑redis.conf,里面有一行(136行)daemonize no,我们把no改为yes

daemonize yes

保存退出,然后通过制定配置文件的方式执行redis-server,这时redis已经在后台启动了

[root@localhost redis-5.0.8]# ./src/redis-server redis.conf
30523:C 07 Dec 2019 23:13:59.650 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
30523:C 07 Dec 2019 23:13:59.650 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=30523, just started
30523:C 07 Dec 2019 23:13:59.650 # Configuration loaded
[root@localhost redis-5.0.8]# ps aux | grep redis
root 30524 0.0 0.0 144028 2032 ? Ssl 23:13 0:00 ./src/redis-server 127.0.0.1:6379
root 30537 0.0 0.0 112712 960 pts/0 S+ 23:14 0:00 grep --color=auto redis

redis配置更多参数可以直接阅读配置文件,每个参数的都有详细的注释说明,这里不再一一演示。

五、开机启动

设置开机启动前最好在第二步执行了执行了make install的安装操作,redis已经给用户准备了一个脚本,如下

./utils/install_server.sh

整个过程需要做一些设置,设置好之后会安装服务,最后提示成功

Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!

执行了开机启动脚本会复制一份redis.conf到/etc/redis/6379.conf,而且daemonize的值会自动设置成yes,换一句话说就是开机启动后的redis就是一个运行在后台的服务。

执行完成后我们可以尝试重启机器,查看redis是否自启动

[root@localhost ~]# ps aux | grep redis
root 1175 0.1 0.2 153996 7680 ? Ssl 06:29 0:00 /usr/local/bin/redis-server 127.0.0.1:6379

Redis系列(一):安装的更多相关文章

  1. Redis系列(1)之安装

    Redis系列(1)之安装 由于项目的需要,最近需要研究下Redis.Redis是个很轻量级的NoSql内存数据库,它有多轻量级的呢,用C写的,源码只有3万行,空的数据库只占1M内存.它的功能很丰富, ...

  2. Redis系列(一):Redis的简介与安装

    原文链接(转载请注明出处):Redis系列(一):Redis的简介与安装 什么是 Redis Redis 是一个使用ANSI C 编写的开源.支持网络协议.基于内存.可选持久性的键值对数据库,它是一个 ...

  3. Redis系列一 Redis安装

    Redis系列一    Redis安装 1.安装所使用的操作系统为Ubuntu16.04 Redis版本为3.2.9 软件一般下载存放目录为/opt,以下命令操作目录均为/opt root@ubunt ...

  4. redis系列:redis介绍与安装

    前言 这个redis系列的文章将会记录博主学习redis的过程.基本上现在的互联网公司都会用到redis,所以学习这门技术于你于我都是有帮助的. 博主在写这个系列是用的是目前最新版本4.0.10,虚拟 ...

  5. Redis系列(一):Redis简介及环境安装

    提到Redis,大家肯定都听过,并且应该都在项目中或多或少的使用过,也许你觉得Redis用起来挺简单的呀,但如果有人问你下面的几个问题(比如同事或者面试官),你能回答的上来吗? 什么是Redis? R ...

  6. Java Redis系列2 (redis的安装与使用+redis持久化的实现))

    Java Redis系列2 (redis的安装与使用+redis持久化的实现) 什么是Redis? Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供测试数据,50 ...

  7. Redis系列(一)——简介及安装

    摘自:redis中文网(http://www.redis.net.cn/) 参考:http://www.cnblogs.com/hoojo/p/4466024.html,http://keenwon. ...

  8. 组件-------(一)redis系列--安装部署redis+实现redis分布式缓存 java+Spring+redis

    目的:解决单机session不能共享问题,插入查询数据库时间效率问题,实现分布式缓存. 准备材料:Redis 下载链接 http://pan.baidu.com/s/1dEGTxvV 相关jar包如果 ...

  9. Redis系列---安装redis单机版02

    本章将带领大家一步一步安装Redis单机版(Redis从3.0版本后就开始支持集群了,集群将会后边章节带领大家操作) 准备环境: Centos 6.X redis3.+版本(自行下载,redis 的版 ...

随机推荐

  1. POJ1486模拟或者匈牙利变种

    题意:       有n个矩形,每个矩形上的某个位置上都有一个点,但是由于矩形是透明的,当一些矩形重叠在一起的时候就很可能分不清哪个点是那个矩形的,给你n个矩形的坐标,还有n个点的坐标,然后让你找出所 ...

  2. 神经网络与机器学习 笔记—Rosenblatt感知机

    Rosenblatt感知机器 感知器在神经网络发展的历史上占据着特殊位置:它是第一个从算法上完整描述的神经网络.它的发明者Rosenblatt是一位心里学家,在20世纪60年代和70年代,感知器的启发 ...

  3. 在 GitHub 学习,成长为自己想要的样子|HelloGitHub 访谈

    万事开头难,我们经过长期的策划和筹备,终于推出了 HelloGitHub 采访系列「开源项目作者的访谈」.这是一个采访个人开源项目作者的栏目,内容侧重于开源项目作者与开源的故事. 我们深知想要做好一个 ...

  4. XCTF-shrine

    shrine 直接看题 进来给了个python代码 import flask import os app = flask.Flask(__name__) app.config['FLAG'] = os ...

  5. Day003 JavaDoc

    JavaDoc javadoc命令是用来生成自己的Api文档的 参数信息 @author 作者名 @version 版本号 @since 指明需要最早使用的jdk版本 @param 参数名 @retu ...

  6. 实时计算框架:Flink集群搭建与运行机制

    一.Flink概述 1.基础简介 Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算.Flink被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算.主要特性包 ...

  7. vue中v-if与v-show的区别以及使用场景

    区别 1.手段:v-if是通过控制dom节点的存在与否来控制元素的显隐:v-show是通过设置DOM元素的display样式,block为显示,none为隐藏: 2.编译过程:v-if切换有一个局部编 ...

  8. 中国排名前100的IC设计公司

    中国排名前100的IC设计公司 北京地区大唐微电子技术有限公司北京北大众志微系统科技有限责任公司北京中星微电子有限公司中国华大集成电路设计中心  北京中电华大电子设计有限责任公司  北京清华同方微电子 ...

  9. for 循环语句 (enumerate枚举,据说直接写出索引值)

    for i in ***: 今天上课看到alex用了 for index,i in enumerate(list): print(index,i) (enumerate好像可以设置开头序号enumer ...

  10. nano 按Ctrl+X 输入Y 回车

    如何退出nano 1.nano 按Ctrl+X 如果你修改了文件,下面会询问你是否需要保存修改. 2.输入Y确认保存,输入N不保存,按Ctrl+C取消返回.如果输入了Y,下一步会让你输入想要保存的文件 ...