初识Redis
1. 概要
Redis 全称为: REmote DIctionary Server 。
是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用简单、方便上手。
1.1 特点
- Redis支持数据的持久化
可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 - 多种存储结构
不仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 - 支持备份
Redis支持数据的备份,即master-slave模式的数据备份。
1.2 Redis 优势
- 性能极高
Redis读的速度是110000次/s,写的速度是81000次/s (根据服务器配置不同,存在波动)。 - 数据类型 丰富
Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。 - 原子性
Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
可以说,Redis的应用场景十分广泛,作为NoSQL数据库中的佼佼者,已经被广泛的应用在项目开发的诸多环节,是高级程序员、架构师必须掌握的一门技术。我们本套博客客户端开发语言为Java、Redis版本为4.x,运行环节为Linux。
2. 安装
2.1 Linux环境下安装Redis
2.1.1 下载安装包
首先,我们访问Redis的国内镜像网站 http://www.redis.cn/ 。
选择【下载】模块,当前最新版本是5.0.5,而我们的教程选用较为稳定的4.X版本,选择【查看更多】(如图1),选择历史版本,下载Redis 4.0.11版本(如图2)。
我们可以直接点下载,再上传到Linux服务器上,也可以通过命令行的方式进行操作,命令行的安装步骤如下:
#返回根目录
cd /
#创建文件夹 tools
mkdir /tools
#进入文件夹
cd tools
#使用wget命令下载 redis
wget http://download.redis.io/releases/redis-4.0.11.tar.gz
控制台执行效果如下:
2.1.2 安装redis
- 解压缩
在tools目录下对安装包redis-4.0.11.tar.gz进行解压。
tar xzf redis-4.0.11.tar.gz
控制台执行效果如下:
- 安装必要运行环境
yum install gcc
- 编译
我们下载的安装包其实是源代码包,所以我们需要先进行编译。进入 redis-4.0.11文件夹,执行 make命令,对源代码进行编译。
cd redis-4.0.11
make
编译完成后,我们进入src目录,会发现多出了很多绿色的文件,证明我们的编译成功了。
2.1.3 启动redis
我们返回到redis-4.0.11文件夹下,执行命令,启动redis。
./src/redis-server
得到结果如下图,我们可以看到redis运行成功后,返回了我们运行的redis的版本为4.0.11,占用端口为6379
因为我们是通过前台命令启动的redis,我们通过快捷键ctrl+z就可以停止并退出当前应用。
2.2 Windows环境下安装Redis
2.2.1 安装包下载
redis其实是不支持windows操作系统的,但是微软团队给我们提供了windows的技术支持。
我们访问网址 https://github.com/MicrosoftArchive/redis,这里微软团队给我们提供了相应的安装包,最高版本支持到3.2.100,虽然后续未再做更新,但是此版本用于我们在windows下学习是足够了。
按照惯例,我把安装包放置到百度云盘中,方便大家下载。
链接:https://pan.baidu.com/s/1BIgLS9Pf-DXwEgVCORhrZg
提取码:ph5m
2.2.2 启动redis
- 命令行启动
我们解压缩Redis-x64-3.2.100.zip,并进入。
执行命令,启动redis
redis-server.exe redis.windows.conf
- 服务启动
windows版本的redis也提供了安装包模式,可以将启动命令直接作为服务,这样我们开机即可使用。
网盘中下载 Redis-x64-3.2.100.msi 文件,双击安装即可,可在本地服务中发现此服务。
2.3 关闭Redis服务
关闭redis-server有两种方式:一种是使用操作系统的命令,强制结束redis-server的进程;一种是通过redis-client客户端执行关闭命令没,推荐使用客户端执行命令的方式。
执行命令
./src/redis-cli shutdown
3. 配置文件
我们以上讲的启动命令都是在启动redis的时候加载redis的默认参数,现在我们就讲一下如何修改相应参数。
从实战出发,常用参数有:
命令 | 实例 | 说明 |
---|---|---|
daemonize | daemonize yes | 用于管理服务启动的时候是否为后台模式,默认为 no |
port | port 6379 | 设置端口号,默认6379 |
logfile | 日志文件路径 | 设置日志文件路径 |
dir | 数据文件路径 | 设置数据文件路径 |
databases | database 255 | 设置数据库总量 |
requirepass | requirepass 123456 | 设置访问密码 |
3.1 创建自定义配置文件
我们不对redis的默认配置文件进行修改,而是通过新增配置文件,并在启动时加载的模式进行参数配置。
在redis-4.0.11文件夹下创建配置文件redis.custom.conf,当然你也可以定义成你喜欢的名字。
后续我们将对这个配置文件进行修改。
touch redis.custom.conf
我们的启动命令更改为:
./src/redis-server redis.custom.conf
3.2 参数介绍
- daemonize参数
redis.custom.conf 配置文件中增加如下参数:
我们启动redis服务,会发现,服务已经改为后台启动模式。
我们也可以通过端口验证命令,验证是否启动成功。
netstat -tulpn
- port参数和requirepass参数
port:默认的端口号为6379,建议搭建在redis搭建的时候就对其进行修改,保证redis的安全。
requirepass:可以指定访问的口令。
我们重新启动,并查询端口,可以获得如下结果。
我们可以通过客户端访问redis-server,验证我们是否启动成功。
我们执行运行命令,访问redis-server,发现访问的是默认的6379端口,并报错了。
./src/redis-cli
我们修改下访问命令,指定端口和访问口令。
./src/redis-cli -p 6666 -a 123456
控制台运行结果如下:
4. 小结
本章节是基础章节,通过对Linux系统、Windows系统下Redis的安装、调试,我们对Redis有了一个初步的了解,在后续章节我们将对Redis的数据类型、特性进行讲解,祝大家学习愉快。