本系列介绍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. XML和JSON数据格式

    目录 XML DTD(文档类型定义) DTD实体 JSON 使用python解析JSON数据 XML和JSON的区别 XML的优缺点 JSON的优缺点 XML和JSON都是web存储和传输过程中数据的 ...

  2. CVE-2013-1347:Microsoft IE CGenericElement UAF 漏洞利用样本分析

    CVE-2013-1347 漏洞是典型的 IE 浏览器 UAF 漏洞,所以其利用方法和一般的 IE 浏览器漏洞的利用方法非常相似,所以流程大体上可以分为这些步骤:(1) 对象被释放 (2) 精确覆盖被 ...

  3. PowerDesigner安装教程

    准备安装 准备好可执行文件.汉化.破解文件 将可执行文件以管理员身份运行: 向导初始化 next 选香港.点同意: 可以默认,如果说这个路径不能用下次就换一个 除了Eclipse全选 全选 好像有个空 ...

  4. 【编译原理】求First和Follow

    写这篇博客的原因,是因为考试前以为自己已经将这个问题弄清楚了,但是,考试的时候,发现自己还是不会,特别是求follow集合.虽然考试结束了,希望屏幕前的你,可以真正理解这个问题. 码字和做视频都不容易 ...

  5. windows下使用dos命令手工与ntp服务器同步系统时间

    管理员模式的命令窗口 net stop w32time &w32tm /unregister &w32tm /register &net start w32time & ...

  6. 并发容器-CopyOnWriteSet

    CopyOnWriteSet 该容器与CopyOnWriteArrayList相似,也是读取时不加锁,任意线程可以读.写入时加锁创建一个新的容器,然后写入新元素. 内部用CopyOnWriteArra ...

  7. 『动善时』JMeter基础 — 14、使用JMeter发送Post请求

    目录 1.Post请求参数类型说明 2.用于演示的项目说明 3.发送Post请求示例 (1)测试计划内包含的元件 (2)请求参数类型为x-www-form-urlencoded 4.请求参数form- ...

  8. JAVA 面试相关

    1. int和Integer有什么区别? 答:Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类 ...

  9. Servlet-授课

    1 Servlet 1.1 Servlet概述 Servlet是SUN公司提供的一套规范,名称就叫Servlet规范,它也是JavaEE规范之一.我们可以像学习Java基础一样,通过API来学习Ser ...

  10. Javac·编码GBK的不可映射字符

    阅文时长 | 0.04分钟 字数统计 | 79.2字符 主要内容 | 1.引言&背景 2.声明与参考资料 『Javac·编码GBK的不可映射字符』 编写人 | SCscHero 编写时间 | ...