Redis 详解 (一) redis的简介和安装
工作中一直在用 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 目录下,然后在通过如下命令进行解压:
1 tar -zxf redis-4.0.9.tar.gz
解压之后如下图所示:

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

下面,我们通过如下命令进行 gcc 的安装(yum 方式需要联网):
1 yum install gcc-c++
安装完成之后,在输入 gcc -v 命令,则不会出现上面的提示信息了。
4、编译安装
进入到第二步解压的Redis文件目录,然后输入 make 命令进行编译:
1 cd /opt/redis-4.0.9
2 make

编译完成之后,还是在该目录下输入 make install 进行构建:
该命令会生成 Redis的5个二进制文件,默认是在 /usr/local/bin 路径下,但是我们可以手动指定生成的文件位置,将 make install 变成:
1 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 目录下:

然后通过如下命令即可启动:
1 /usr/local/redis/bin/redis-server /etc/redis/redis.conf
启动后出现如下界面:

注意:此种方式启动 Redis,当我们关闭命令窗口时,则 redis-server 程序也结束了,这显然是不友好的,我们需要将Redis设置为以守护进程的方式进行启动。
在 redis.conf 文件中,找到daemonize,将其设置为yes即可:

还是以上面的命令启动 redis-server 服务。
启动之后可以通过如下命令查看 Redis 服务是否启动:
1 ps -ef | grep redis
启动完成之后,我们执行第 4 步编译安装的 redis-cli 文件,输入如下命令进入 Redis 客户端:
1 /usr/local/redis/bin/redis-cli

6、关闭Redis
①、redis-cli shutdown:安全关闭,但是只适用于没有配置密码的场景(一般情况下不会给Redis设置密码)。
②、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 详解 (一) redis的简介和安装的更多相关文章
- RabbitMQ详解(一)------简介与安装(Docker)
RABBITMQ详解(一)------简介与安装(DOCKER) 刚刚进入实习,在学习过程中没有接触过MQ,RabbitMQ 这个消息中间件,正好公司最近的项目中有用到,学习了解一下. 首先什么是MQ ...
- Redis 详解 (二) redis的配置文件介绍
目录 1.开头说明 2.INCLUDES 3.MODULES 4.NETWORK 5.GENERAL 6.SNAPSHOTTING 7.REPLICATION 8.SECURITY 9.CLIENTS ...
- 大数据学习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 ...
- RabbitMQ详解(一)------简介与安装
RabbitMQ 这个消息中间件,其实公司最近的项目中有用到,但是一直没有系统的整理,最近看完了<RabbitMQ实战 高效部署分布式消息队列>这本书,所以顺便写写. 那么关于 Rabb ...
- Redis 详解 (五) redis的五大数据类型实现原理
目录 1.对象的类型与编码 ①.type属性 ②.encoding 属性和 *prt 指针 2.字符串对象 3.列表对象 4.哈希对象 5.集合对象 6.有序集合对象 7.五大数据类型的应用场景 8. ...
- Redis 详解 (四) redis的底层数据结构
目录 1.演示数据类型的实现 2.简单动态字符串 3.链表 4.字典 5.跳跃表 6.整数集合 7.压缩列表 8.总结 上一篇博客我们介绍了 redis的五大数据类型详细用法,但是在 Redis 中, ...
- Redis 详解 (三) redis的五大数据类型详细用法
目录 1.string 数据类型 2.hash 数据类型 3.list 数据类型 4.set 数据类型 5.zset 数据类型 6.系统相关命令 7.key 相关命令 我们说 Redis 相对于 Me ...
- Redis详解入门篇
Redis详解入门篇 [本教程目录] 1.redis是什么2.redis的作者3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端7.redis数据结构 – 简介 ...
- Redis详解入门篇(转载)
Redis详解入门篇(转载) [本教程目录] 1.redis是什么2.redis的作者3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端7.redis数据结构 ...
随机推荐
- 63 滑动窗口的最大值 &&front(),back()操作前一定要判断容器的尺寸不能为0
给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6, ...
- Indexed (materialized) views in SQL Server,different with Oracle (materialized) views
Thanks to MS sql could have materialized views ,similar with oracle MVs, using indexed views. what i ...
- Spring 注意事项
1.在我们使用spring 5.x版本的时候,要求junit 的jar版本是4.12及以上. 2.不管是什么样的配置,当发现之前能用,改了位置就不能用的时候,首先要考虑的问题就是:是否有约束上顺序的要 ...
- windows下安装redis并部署服务
下载地址: windows版本: https://github.com/MSOpenTech/redis/releases Linux版本: 官网下载: http://www.redis.cn/ gi ...
- Scrapy 使用 Item 封装数据、使用 Item Pipline处理数据
1.Item 和 Field Scrapy 提供一下两个类,用户可以使用它们自定义数据类,封装爬取到的数据: (1)Item类 自定义数据类(如 BookItem)的基类 (2)Field 用来描述自 ...
- Java HotSpot(TM) Client VM 与 server VM 的配置
在Linux 6.5 下安装Elasticsearch 出现错误: JVM is using the client VM [Java HotSpot(TM) Client VM] but should ...
- PHP如何查找一列有序数组是否包含某值(二分查找)
问题:对于一列有序数组,如何判断给出的一个值,该值是否存在于数组. 思路:判断是否存在,最简单是,直接循环该数组,对每一个值进行比较.但是对于有序数组来说,这样写就完全没有利用好“有序”这一特点. 所 ...
- C语言学习从入门到精通书籍,10万读者都认可
C语言程序设计从入门到精通 10万读者认可的编程图书精粹 零基础自学编程的入门图书 详解C语言编程思想和核心技术 很多初学者,对C语言.c++的概念都是模糊不清的,C语言.c++是什么,能做什么,学的 ...
- Mysql使用存储过程创建测试数据
一.概述 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集.其存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出 ...
- MVC、MVT简介
一.MVC MVC的产生理念: 分工.让专门的人去做专门的事. MVC的核心思想: 解耦. M: Model,模型, 和数据库进行交互. V: View,视图, 产生html页面. C: Contro ...