Bootstrap

Redis安装与启动(最详细)

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客户端工具

;