Redis-概念、安装、基本配置
文章目录
- 一、Redis及Redis集群概念、分布式系统概念
- 一-1 Redis是什么?
- 一-2 什么是分布式系统及其特性?
- 一-3 什么是Redis集群以及实现的方法介绍?
- 哨兵模式(sentinel)?
- cluster??
- 一-4 Redis的库????
- 一-5 Redis中的Key与Value????
- 添加
- 查看
- 企业中谨慎使用`key *`
- 正确查看方式
- 企业中谨慎使用`flushdb`以及`flushall`
- 一-6 Redis和其他数据缓存服务的对比
- 二、Redis的安装与基本配置
- 二-1 Redis源码安装
- 二-2 *源码安装中间件的一般流程
- 1. 准备工作
- a. 安装编译工具
- b. 安装依赖库
- 2. 下载源码
- a. 下载源码包
- b. 解压源码包
- 3. 配置
- a. 进入源码目录
- b. 运行配置脚本
- 4. 编译
- a. 编译源码
- b. 编译安装
- 5. 配置服务
- a. 配置服务环境
- b. 配置服务参数
- 6. 启动服务
- a. 启动中间件服务
- b. 设置服务自启动
- 7. 验证安装
- a. 检查服务状态
- b. 测试服务功能
- 二-3 redis-server命令和redis-cli命令的使用??
- redis-server
- redis-cli
- 使用`redis-server`和`redis-cli`启动、关闭redis服务
- 启动redis服务
- 关闭redis服务
- 二-4 redis的配置文件
- Redis库内查看所有配置、临时修改配置
- 修改redis配置文件中的端口后启动、关闭如何通过指定端口的redis服务
- 启动
- 关闭
- redis守护进程模式的配置
- Redis的安全配置
- Redis的保护模式protected-mode配置???
- 如何取消保护模式
- 一定要注意bind后的IP地址是当前机器的IP
- 客户端安装redis后使用redis-cli访问redis的服务器
- Redis的访问密码设置???
- 服务端设置
- 客户端访问测试(客户端得安装redis,然后使用redis-cli访问)(本地也是客户端,也能使用redis-cli)
- Redis的日志配置???
一、Redis及Redis集群概念、分布式系统概念
一-1 Redis是什么?
一-2 什么是分布式系统及其特性?
一-3 什么是Redis集群以及实现的方法介绍?
哨兵模式(sentinel)?
相当于高可用
cluster??
一-4 Redis的库????
有名为0到15的16个库
redis-cli
# 进入redis-cli中:
select 库名
一-5 Redis中的Key与Value????
添加
redis-cli
# 进入redis-cli后:
# 进入指定库中
select <库名>
# 为指定库添加新的键值对
set <Key名> <Value名>
查看
企业中谨慎使用key *
key *
会从内存中加载所有缓存的数据,由于企业中的缓存的数据非常之多,一旦加载了,那么会使机器过载严重
正确查看方式
redis-cli
# 进入redis-cli后
# 进入指定库中
select <库名>
# 查看该库中的指定键的值是什么
get <Key名>
企业中谨慎使用flushdb
以及flushall
一-6 Redis和其他数据缓存服务的对比
二、Redis的安装与基本配置
Redis官网
二-1 Redis源码安装
官网源码安装Redis教程
二-2 *源码安装中间件的一般流程
在Linux中源码安装中间件服务通常涉及以下基本步骤:
1. 准备工作
a. 安装编译工具
大多数源码包需要编译工具进行安装,最基本的工具包括gcc
(GNU编译器集合)和make
。
sudo apt-get install build-essential # Debian/Ubuntu
sudo yum groupinstall "Development Tools" # CentOS/RHEL
sudo dnf groupinstall "Development Tools" # Fedora
b. 安装依赖库
根据中间件服务的要求,可能需要安装额外的依赖库。这些信息通常可以在服务的官方文档中找到。
sudo apt-get install lib依赖库-name # Debian/Ubuntu
sudo yum install 依赖库-name # CentOS/RHEL
sudo dnf install 依赖库-name # Fedora
2. 下载源码
a. 下载源码包
可以从中间件服务的官方网站或者官方推荐的镜像站点下载源码包。
wget http://example.com/中间件服务-src.tar.gz
b. 解压源码包
下载完成后,需要解压源码包。
tar -zxvf 中间件服务-src.tar.gz
3. 配置
a. 进入源码目录
解压后,进入源码目录。
cd 中间件服务-src
b. 运行配置脚本
通常源码包会提供./configure
脚本来检测系统环境并生成适合的Makefile
。
./configure
如果需要指定安装目录或其他特殊配置,可以在./configure
命令后添加相应的参数。
4. 编译
a. 编译源码
使用make
命令编译源码。
make
b. 编译安装
编译完成后,使用make install
命令进行安装。
sudo make install
5. 配置服务
a. 配置服务环境
根据需要配置服务的环境变量、日志目录、数据目录等。
b. 配置服务参数
通常服务会有一个配置文件,需要根据实际需求进行配置。
nano /etc/中间件服务/中间件服务.conf
6. 启动服务
a. 启动中间件服务
使用服务的启动脚本启动中间件服务。
sudo systemctl start 中间件服务 # 如果系统使用systemd
sudo service 中间件服务 start # 如果系统使用SysVinit
b. 设置服务自启动
如果需要,设置服务在系统启动时自动启动。
sudo systemctl enable 中间件服务 # 如果系统使用systemd
sudo chkconfig 中间件服务 on # 如果系统使用SysVinit
7. 验证安装
a. 检查服务状态
检查中间件服务是否成功启动。
sudo systemctl status 中间件服务 # 如果系统使用systemd
sudo service 中间件服务 status # 如果系统使用SysVinit
b. 测试服务功能
进行功能测试,确保中间件服务运行正常。
以上步骤是源码安装中间件服务的一般流程,具体步骤可能会根据中间件服务的不同而有所差异。在安装前,最好阅读服务的官方文档,以获取更详细的安装指南和注意事项。
二-3 redis-server命令和redis-cli命令的使用??
redis-server
redis-cli
使用redis-server
和redis-cli
启动、关闭redis服务
启动redis服务
# 后台运行
redis-server &
# 检测是否有redis端口
netstat -ntlup | grep redis
关闭redis服务
redis-cli
# 进入redis-cli模式里,键入:
shutdown#或者
redis-cli shutdown
二-4 redis的配置文件
cd redis源码目录
vim ./redis.conf
Redis库内查看所有配置、临时修改配置
修改redis配置文件中的端口后启动、关闭如何通过指定端口的redis服务
启动
cd redis源码目录
# 启动指定已修改好的配置文件端的redis服务端并置于后台运行
redis-server ./redis.conf &
关闭
# 指定端口连接redis
redis-cli -p 指定端口
# 进入redis-cli后
shutdown#或
redis-cli -p 指定端口 shutdown
redis守护进程模式的配置
这个模式可以自动将redis服务放于后台,就不用手动加“&”符号了
cd redis源码目录
vim ./redis.confdaemonize yes
# 使用redis daemon启动redis
cd redis源码目录
redis-server ./redis.conf
Redis的安全配置
Redis的保护模式protected-mode配置???
用于是否只允许本地访问
这里的使用bind是设置指定redis的客户端(哪些可以访问我)
如何取消保护模式
cd redis源码目录
vim ./redis.conf
一定要注意bind后的IP地址是当前机器的IP
在Redis的配置文件redis.conf
中,bind
参数用于指定Redis服务器监听的网络接口的IP地址。正确配置bind
参数对于控制哪些客户端可以连接到Redis服务器至关重要。以下是如何具体使用bind
参数的说明:
基本用法
bind
参数后面可以跟一个或多个IP地址,用空格分隔。Redis服务器将监听这些指定的IP地址上的端口。如果不指定bind
参数,Redis将监听所有可用的网络接口。
示例
-
监听所有接口(默认行为):
# 监听所有IPv4和IPv6地址 bind 0.0.0.0 ::
-
监听特定的IPv4地址:
# 只监听特定的IPv4地址 bind 192.168.1.100
-
监听特定的IPv6地址:
# 只监听特定的IPv6地址 bind ::1
-
同时监听IPv4和IPv6的回环地址:
# 监听IPv4和IPv6的回环地址 bind 127.0.0.1 ::1
-
监听多个特定的IPv4地址:
# 监听两个特定的IPv4地址 bind 172.16.1.7 10.0.0.7
-
排除特定的地址:
# 监听所有接口,但排除IPv6的回环地址 bind * -::1
注意事项
- 使用
*
代表监听所有IPv4地址,::
代表监听所有IPv6地址。 - 在
bind
参数中,每个IP地址前可以添加-
来排除该地址。例如,bind 172.16.1.7 -10.0.0.7
将监听172.16.1.7
但不监听10.0.0.7
。 - 如果你的Redis服务器直接暴露在互联网上,建议至少配置
bind
参数只监听回环地址(127.0.0.1
和::1
),以增加安全性。 - 确保指定的IP地址是分配给你的机器的有效地址,否则Redis将无法启动。
- 如果你更改了
bind
参数,可能还需要调整protected-mode
参数,因为它控制着在没有密码保护时Redis是否只接受来自本地的连接。
正确配置bind
参数可以帮助你控制访问Redis的客户端,提高安全性,同时确保Redis服务的可用性。
bind
指令后面指定的 IP 地址是 Redis 服务器所在的主机的网络接口的 IP 地址。这些 IP 地址代表了服务器可以监听和接受来自哪些网络接口的连接。具体来说:
-
本地 IP 地址:如果你在
bind
指令后面指定了一个 IP 地址,那么 Redis 将只在该 IP 地址对应的网络接口上监听连接请求。这个 IP 地址必须是服务器主机上配置的 IP 地址之一。 -
外部 IP 地址:如果你希望 Redis 服务器能够接受来自特定外部 IP 地址的连接,你也可以在
bind
指令后面指定这些外部 IP 地址。这通常用于限制访问,只允许特定的机器或网络连接到 Redis 服务器。 -
特殊符号:
*
:代表监听所有 IPv4 地址。::
:代表监听所有 IPv6 地址。0.0.0.0
:等同于*
,也代表监听所有 IPv4 地址。::0
:等同于::
,代表监听所有 IPv6 地址。
例如,如果你的服务器有多个网络接口,分别配置了不同的 IP 地址,如 192.168.1.100
、10.0.0.5
和 172.16.0.1
,你可以这样配置 bind
指令来指定 Redis 监听特定的网络接口:
bind 192.168.1.100 10.0.0.5
这样配置后,Redis 将只在 192.168.1.100
和 10.0.0.5
这两个 IP 地址上监听连接请求,忽略其他网络接口。
总结来说,bind
指令后面指定的 IP 地址是 Redis 服务器所在主机的 IP 地址,用于控制 Redis 监听哪些网络接口的连接请求。
客户端安装redis后使用redis-cli访问redis的服务器
redis-cli -h <Redis服务器的开放的IP> -p <Redis服务器开放的redis端口>
Redis的访问密码设置???
服务端设置
# 进入到redis的源码目录中
vim ./redis.conf
# 添加以下配置信息:
requirepass <访问密码>
客户端访问测试(客户端得安装redis,然后使用redis-cli访问)(本地也是客户端,也能使用redis-cli)
# 进入redis-cli模式
redis-cli -h <Redis服务器开放的主机IP> -p <Redis服务器开放的Redis端口>
# 一些访问操作,只有先认证之后才能访问的
auth <Redis服务器设置的访问密码>