本系列介绍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. 绕过CDN查找网站真实ip

    在渗透测试过程中,经常会碰到网站有CDN的情况.CDN即内容分发网络,主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题.说的简单点,就是一组在不同运营商之间的对接点上的高速缓存服务器,把 ...

  2. word打印华文字体出现乱码

    乱码原因:打印机自带字体库支持的问题 解决方法:解决方法是修改打印机的设置,不使用打印机的字体,直接使用电脑的字体. 具体操作:控制面板-设备和打印机-选中要设置的打印机-打印首选项-图像品质-设置字 ...

  3. web自动化框架—BasePage 类的简单封装

    优秀的框架都有属于自己的思想,在搭建web自动化测试框架时,我们通常都遵循 PO(Page Object)思想. 简单理解就是我们会把每个页面看成一个对象,一切皆对象,面向对象编码,这样会让我们更好的 ...

  4. 安装MySQL后,需要调整的10个性能配置项

    本文翻译自 Percona 官方博客,适用于 MySQL 5.6 及 5.7 版本. 作者:Stephane Combaudon 原文: https://www.percona.com/blog/20 ...

  5. [项目] 淘淘商城 Part.2

    商品列表查询 Easyui 商品添加 商品类目选择 图片上传 富文本编辑器使用 添加的实现 展示首页 略 分页插件 在SqlMapConfig.xml,配置一个plugin 在sql语句执行之前,添加 ...

  6. [刷题] PTA 04-树4 是否同一棵二叉搜索树

    程序: 1 #include <stdio.h> 2 #include <stdlib.h> 3 typedef struct TreeNode *Tree; 4 struct ...

  7. linux rpm包解压

    rpm2cpio xxx.rpm | cpio -div

  8. LNMP/LAMP

    LNMP/LAMP 环境: 名称 Linux Nginx MySQL PHP Apache 版本 Centos7 nginx-1.14.1 mysql-5.6.25 php-5.6.36 Apache ...

  9. python3 访问windows共享目录

    python3 访问windows共享目录 1.安装pysmb包 pip install pysmb 2.连接共享目录 #!/usr/bin/env python3 # -*- coding:utf- ...

  10. STM32F4 SD卡升级程序

    http://www.openedv.com/posts/list/65104.htm