工作中一直在用 Redis,但是一直没有进行系统的总结,这个系列的博客将整体的介绍 Redis 的用法。

1、Redis 的简介

  Redis:REmote DIctionary Server(远程字典服务)。

  是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。是完全开源免费的,用C语言编写的,遵守BSD协议,高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化NoSQL数据库。

  具体详细的概念可以参考百度百科

  PS:关于 Redis 的具体概念以及具体应用场景,其实现在说都有些空洞,后面我们在介绍 Redis 的相关特性的时候会进行详细介绍。下面我们来直接进行安装(由于主流的都是在Linux服务器上使用Redis,很少有在Windows系统上使用的,所以下面我是以Linux版本的Redis为例进行安装)。

2、Redis 下载

  Redis 的官网是:https://redis.io   这是全英文的,英语不太好的,我们也可以查看中文网站:http://www.redis.cn/ 。

  在官网中点击 Check the downloads page

  

  进入下载页面,下载最新稳定版的 Redis:

  

3、安装环境

  我们采用虚拟机来模拟Linux服务器。虚拟机的安装教程可以参考我的这篇博客

  虚拟机安装完成之后,我们启动Linux系统,将第二步下载的 redis-4.0.9.tar.gz 文件通过工具复制到 /opt 目录下,然后在通过如下命令进行解压:

 tar -zxf redis-4.0.9.tar.gz

  解压之后如下图所示:

  

  由于在安装过程中需要对源码进行编译,而编译依赖 gcc 环境。如下图所示,则是没有进行 gcc 的安装:

  

  下面,我们通过如下命令进行 gcc 的安装(yum 方式需要联网):

 yum install gcc-c++

  安装完成之后,在输入 gcc -v 命令,则不会出现上面的提示信息了。

4、编译安装

  进入到第二步解压的Redis文件目录,然后输入 make 命令进行编译:

 cd /opt/redis-4.0.9
make

  

  编译完成之后,还是在该目录下输入 make install 进行构建:

  该命令会生成 Redis的5个二进制文件,默认是在 /usr/local/bin 路径下,但是我们可以手动指定生成的文件位置,将 make install 变成:

 make PREFIX=/usr/local/redis install 

  

  完成之后,就会在 /usr/local/redis/bin 目录下生成如下几个二进制文件:

  

  ①、redis-server:Redis服务器

  ②、redis-cli:Redis命令行客户端

  ③、redis-benchmark:Redis性能测试工具

  ④、redis-check-aof:AOF文件修复工具

  ⑤、redis-check-rdb:RDB文件检查工具

5、启动Redis

  首先,我们进入 Redis 文件的安装目录:

  

  可以看到该目下有 redis.conf 配置文件,这个文件特别重要,后期的很多配置都是在这里面进行,为了防止该文件被破坏,我们可以将该文件复制到 /etc/redis 目录下:

  

  然后通过如下命令即可启动:

 /usr/local/redis/bin/redis-server /etc/redis/redis.conf

  启动后出现如下界面:

  

  注意:此种方式启动 Redis,当我们关闭命令窗口时,则 redis-server 程序也结束了,这显然是不友好的,我们需要将Redis设置为以守护进程的方式进行启动。

  在 redis.conf 文件中,找到daemonize,将其设置为yes即可:

  

  还是以上面的命令启动 redis-server 服务。

  启动之后可以通过如下命令查看 Redis 服务是否启动:

 ps -ef | grep redis

  启动完成之后,我们执行第 4 步编译安装的 redis-cli 文件,输入如下命令进入 Redis 客户端:

 /usr/local/redis/bin/redis-cli

  

6、关闭Redis

  ①、redis-cli shutdown:安全关闭,如果有密码需要加上 -a {password} 参数(推荐使用此方式关闭,会进行持久化文件生成,能够防止数据丢失)。

  ②、kill -9 pid:强制关闭,可能会造成Redis内存数据丢失(不推荐使用)。

7、注意事项

  ①、我们在第 4 步编译安装生成了五个二进制文件,每次要执行该文件都要输入全路径,很不方便,为了能在任何路径下执行该二进制文件,我们可以对其进行环境变量的配置。

  输入 vim /etc/profile 命令,将如下内容添加到文件末尾:

  

  接着输入:wq保存并退出,然后输入 source /etc/profile 使得配置文件生效即可。

  接着我们便可在任意路径下启动Redis服务了:(下面是根目录下启动)

  

  ②、可能有部分同学没有安装 gcc,直接在Redis解压目录下执行make 命令,会发现缺少编译器gcc,这时候通过 yum install gcc-c++ 命令安装gcc,然后接着执行 make 命令,但是发现还是报错:

  jemalloc/jemalloc.h:没有那个文件或目录

  原因:这次报错是因为第一次执行 make 命令有一些残存的文件没有清除干净,这时候需要执行 make distclean 命令后,再执行 make 命令即可。

  ③、启动Redis后,有可能我们要在外部通过图形化工具,比如RedisManager 来连接,这时候会报如下错误:

  

  这是Redis保护模式开启了,我们需要将redis.conf 配置文件中的 protected-mode 属性设置为no即可.或者增加redis连接密码设置:requirepass 123.(123是表示密码)

  本系列教程持续更新,可以微信搜索「 IT可乐 」第一时间阅读。回复《电子书》有我为大家特别刷选的书籍资料  

Redis详解(一)------ redis的简介与安装的更多相关文章

  1. RabbitMQ详解(一)------简介与安装(Docker)

    RABBITMQ详解(一)------简介与安装(DOCKER) 刚刚进入实习,在学习过程中没有接触过MQ,RabbitMQ 这个消息中间件,正好公司最近的项目中有用到,学习了解一下. 首先什么是MQ ...

  2. Redis 详解 (一) redis的简介和安装

    目录 1.Redis 的简介 2.Redis 下载 3.安装环境 4.编译安装 5.启动Redis 6.关闭Redis 7.注意事项 工作中一直在用 Redis,但是一直没有进行系统的总结,这个系列的 ...

  3. Redis 详解 (二) redis的配置文件介绍

    目录 1.开头说明 2.INCLUDES 3.MODULES 4.NETWORK 5.GENERAL 6.SNAPSHOTTING 7.REPLICATION 8.SECURITY 9.CLIENTS ...

  4. 大数据学习day11------hbase_day01----1. zk的监控机制,2动态感知服务上下线案例 3.HDFS-HA的高可用基本的工作原理 4. HDFS-HA的配置详解 5. HBASE(简介,安装,shell客户端,java客户端)

    1. ZK的监控机制 1.1 监听数据的变化  (1)监听一次 public class ChangeDataWacher { public static void main(String[] arg ...

  5. RabbitMQ详解(一)------简介与安装

    RabbitMQ 这个消息中间件,其实公司最近的项目中有用到,但是一直没有系统的整理,最近看完了<RabbitMQ实战  高效部署分布式消息队列>这本书,所以顺便写写. 那么关于 Rabb ...

  6. Redis 详解 (五) redis的五大数据类型实现原理

    目录 1.对象的类型与编码 ①.type属性 ②.encoding 属性和 *prt 指针 2.字符串对象 3.列表对象 4.哈希对象 5.集合对象 6.有序集合对象 7.五大数据类型的应用场景 8. ...

  7. Redis 详解 (四) redis的底层数据结构

    目录 1.演示数据类型的实现 2.简单动态字符串 3.链表 4.字典 5.跳跃表 6.整数集合 7.压缩列表 8.总结 上一篇博客我们介绍了 redis的五大数据类型详细用法,但是在 Redis 中, ...

  8. Redis 详解 (三) redis的五大数据类型详细用法

    目录 1.string 数据类型 2.hash 数据类型 3.list 数据类型 4.set 数据类型 5.zset 数据类型 6.系统相关命令 7.key 相关命令 我们说 Redis 相对于 Me ...

  9. Redis详解入门篇

    Redis详解入门篇 [本教程目录] 1.redis是什么2.redis的作者3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端7.redis数据结构 – 简介 ...

  10. Redis详解入门篇(转载)

    Redis详解入门篇(转载) [本教程目录] 1.redis是什么2.redis的作者3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端7.redis数据结构 ...

随机推荐

  1. Hibernate中的对象有三种状态

    Hibernate中的对象有三种状态: 瞬时状态 (Transient),持久状态 (Persistent), 1. 脱管状态 (Detached) 1. 1. 瞬时状态 (Transient) 由  ...

  2. 接口文档神器之apidoc

    //@desn:apidoc linux环境  windows环境使用 //@desn:码字不宜,转载请注明出处 //@author:张慧源  <turing_zhy@163.com> / ...

  3. linux安装VLAN,系统怎么划分VLAN打标签上交换机

    前几天公司一台物理机需要连接公网,但是公网需要网卡打标签上去. 由于没有做过linux主机划分VLAN的操作,因此去查了一下,需要利用vconfig这个命令. 但是纠结的是,系统源中没有这个包.(很坑 ...

  4. golang升级

    系统安装软件一般在/usr/share,可执行的文件在/usr/bin,配置文件可能安装到了/etc下等. 文档一般在 /usr/share 可执行文件 /usr/bin 配置文件 /etc lib文 ...

  5. hadoop配置文件详解系列(一)-core-site.xml篇

    接上一个属性,这个属性就是设置阈值的. hadoop.security.groups.cache.secs 300 配置用户组映射缓存时间的,当过期时重新获取并缓存. hadoop.security. ...

  6. linux上nginx新建站点

    遇到一个要将后台部分模块剥离出来,重新放到一个新的后台上的问题: 这样一来,就要在服务器上新建站点,but,服务器是linux系统的,不是很熟,经过多方努力,搞定了 在这记录一下,用到的linux命令 ...

  7. python_特殊函数

    __new__() 类的静态方法,用于确定是否要创建对象__init__() 构造函数,生成对象时调用__del__() 析构函数,释放对象时调用__add__() +__sub__() -__mul ...

  8. spring+springmvc+mybatis构建系统

    今天和大家分享的是spring+springmvc+mybatis搭建框架的例子,说到这里不得不说现在市面上一流大公司还有很多用这种架子,创业型公司大部分都用springboot集成的mvc+myba ...

  9. USB/GPIO/SDIO

    通用串行总线(英语:Universal Serial Bus,缩写:USB)是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范.它只有4根线,两个电源(5V,地线),两个数据 ...

  10. sniffer pro 使用方法

    一.捕获数据包前的准备工作 在默认情况下,sniffer将捕获其接入碰撞域中流经的所有数据包,但在某些场景下,有些数据包可能不是我们所需要的,为了快速定位网络问题所在,有必要对所要捕获的数据包作过滤. ...