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 目录下,然后在通过如下命令进行解压:
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的简介与安装的更多相关文章
- RabbitMQ详解(一)------简介与安装(Docker)
RABBITMQ详解(一)------简介与安装(DOCKER) 刚刚进入实习,在学习过程中没有接触过MQ,RabbitMQ 这个消息中间件,正好公司最近的项目中有用到,学习了解一下. 首先什么是MQ ...
- Redis 详解 (一) redis的简介和安装
目录 1.Redis 的简介 2.Redis 下载 3.安装环境 4.编译安装 5.启动Redis 6.关闭Redis 7.注意事项 工作中一直在用 Redis,但是一直没有进行系统的总结,这个系列的 ...
- 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数据结构 ...
随机推荐
- spring3.1文档目录翻译
整理google共享磁盘找到了2014年翻译的spring官方文档的目录,分享出来可能会对英语不好的同学有些帮助吧. spring3.1官方文档目录-中文 spring3.1官方文档-英文 关于作者
- 论MVC中的传值
2个页面分别为Father.cshtml.Child.cshtml 2个控制器分别为FatherController.cs.ChildController.cs 1个js,为Father.js 一.F ...
- Python高阶函数之 - 装饰器
高阶函数: 1. 函数名可以作为参数传入 2. 函数名可以作为返回值. python装饰器是用于拓展原来函数功能的一种函数 , 这个函数的特殊之处在于它的返回值也是一个函数 , 使用pyth ...
- Java实现发送邮件(可配置)忘记密码,发送邮件
学过Java基础的应该知道Java里有邮件这一块,不熟悉的话可以简单复习一下 本文章把发送邮件做为可配置可配置文件,这样方便以后维护 一.Maven依赖包 (发送邮件所依赖的jar包) <!-- ...
- Commandline OpenVPN client on Mac OSX with macports
http://www.tuicool.com/articles/FjuyQj 注:文中有些内容做了修改,特别是那个配置文件,不能直接抄着用. Most people use TunnelBrick ...
- 用js实现算法:冒泡排序、插入排序和快速排序
一.冒泡排序 function bubbleSort(arr){ for(var i=0;i<arr.length;i++){ for(var j=0;j<arr.length-i-1;j ...
- 请求转发(forward)和重定向(redirect)的区别
转发不会改变地址栏,重定向会. 转发是请求一次,重定向请求两次. 转发过程中只有一个request对象产生,重定向是两个. 转发不能转发到站外,重定向可以发送到站外. 重定向的第2个请求的请求方式是什 ...
- Python_csv电子表格
import csv with open('test.csv','w',newline='')as fp: test_writer=csv.writer(fp,delimiter=' ',quotec ...
- .NET Core使用微软官方类库实现汉字转拼音
一.NuGet包 拼音:Install-Package SimplifiedChinesePinYinConversion 简体-繁体互转:Install-Package TraditionalChi ...
- echarts3 迁徙图 迁入迁出
geoCoordMap = { '上海': [121.4648,31.2891], '佛山': [112.8955,23.1097], '保定': [115.0488,39.0948], '兰州': ...