1、Redis简单介绍
参考HashMap(Redis数据可以持久化,hashmap不可以,只在内存中存储,当服务器停止的时候数据就没有了,但是Redi会持久化到硬盘里)
Redis是一种键值型的NoSql数据库,这里有两个关键字:
- 键值型
- NoSql
其中键值型,是指Redis中存储的数据都是以key.value对的形式存储,key只能是字符串,而value的形式多种多样,可以是字符串.数值.甚至json
而NoSql则是相对于传统关系型数据库而言。
对于存储的数据,没有类似Mysql那么严格的约束,比如唯一性,是否可以为null等等,所以我们把这种松散结构的数据库,称之为NoSQL数据库(因此也称之为非关系型数据库)
1.1 认识Redis
官网:Redis - The Real-time Data Platform
Redis诞生于2009年全称是Remote Dictionary Server 远程词典服务器,是一个基于内存的键值型NoSQL数据库。
特征:
- 键值(key-value)型,value支持多种不同数据结构,功能丰富
- 单线程,每个命令具备原子性
- 低延迟,速度快。
- 支持数据持久化
- 支持主从集群、分片集群
Redis 之父 Antirez
1.2 安装Redis
大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包。因此课程中我们会基于Linux系统来安装Redis.
此处选择的Linux版本为CentOS 7
1、下载redis
打开官网下载Redis - The Real-time Data Platform
2、Linux安装
1、安装依赖库,Redis是基于C语言编写的,因此首先需要安装Redis所需要的gcc依赖:
yum install -y gcc tcl
make MALLOC=libc
2、上传安装包并解压
解压缩:
切记软件一定要在/usr/local目录解压(约定大于配置)
tar -xzf redis-6.2.6.tar.gz
进入redis目录:
cd redis-7.0.11/
运行编译命令:
make && make install
如果没有出错,应该就安装成功了。
安装好redis后可以看到,在 /usr/local/bin目录下多出启动redis的命令:
该目录(指 /usr/local/bin)已经默认配置到环境变量,因此可以在任意目录下运行这些命令。其中
- redis-cli:是redis提供的命令行客户端----启动Redis客户端
- redis-server:是redis的服务端启动脚本----启动Redis服务端
- redis-sentinel:是redis的哨兵启动脚本
3、指定配置启动redis
1、必须修改Redis配置文件,就在我们之前解压的redis安装包下(/usr/local/redis-7.0.11),名字叫redis.conf
2、我们先将这个配置文件备份一份(必须):
cp redis.conf redis.conf.bak
1、通过配置文件启动
修改redis.conf文件中的主要配置:
这里要注意:
1、bind 0.0.0.0 绑定地址改成0.0.0.0后必须要指定 requirepass 选项,否则连接不上
2、如果不想指定密码,可以关闭保护模式:指定 protected-mode no
# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问
bind 0.0.0.0 #--87行
# 守护进程,修改为yes后即可后台运行(不要后台启动)
daemonize no #309行
# 密码,设置后访问Redis必须输入密码
requirepass 123456 #1036行
protected-mode yes #111行 关闭保护模式,开启的话,必须要指定 requirepass 选项
# 监听的端口
port 6379 #138行
# 工作目录,默认是当前目录,日志.持久化等文件会保存在这个目录(指定生成rdb文件的路径,
# 相对路径会受到启动redis的操作路径的影响)----Redis关闭之后会在启动的目录生成备份文件
dir . #504行
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 16 #379行
# 设置redis能够使用的最大内存,可用内存默认没有设置最大值--没有持久化到磁盘之前在内存中最大存储的数据
maxmemory 512mb #1119行
# 日志文件,值默认为空(logfile ""),不记录日志,可以指定日志文件名(logfile "redis.log")
# 如果指定的是日志文件的绝对路径(logfile "/usr/local/redis-7.0.11/redis.log"),那么输出位置就是指定的路径
# 如果是相对路径(logfile "redis.log"),那么输出位置是dir .的路径
# 如果logfile有值,那么控制台没有日志,如果logfile为空,则在控制台输出日志----会在Redis启动的目录生成日志文件
logfile "redis.log" #354行
启动Redis:
# 启动
redis-server /usr/local/redis-7.0.11/redis.conf
验证启动是否成功
ps -ef | grep redis
进入redis客户端
redis-cli -h 127.0.0.1 -p 6379 -a 123456
# 或者
redis-cli
输入密码:auth 123456
2、退出redis服务
1.kill -9 进程号
2.redis-cli
shutdown
1.3 Redis客户端
安装完成Redis,我们就可以操作Redis,实现数据的CRUD了。这需要用到Redis客户端,包括:
- 命令行客户端
- 图形化桌面客户端(推荐)
- 编程客户端(Java)
1、Redis命令行客户端
Redis安装完成后就自带了命令行客户端:redis-cli,使用方式如下:
redis-cli [options]
redis-cli -h 127.0.0.1 -p 6379 -a 123456
其中常见的options有:
- -h 127.0.0.1:指定要连接的redis节点的IP地址,默认是127.0.0.1
- -p 6379:指定要连接的redis节点的端口,默认是6379
- -a 123321:指定redis的访问密码
2、图形化桌面客户端
redis客户端连接工具
https://github.com/cinience/RedisStudio
如何使用redis客户端工具