0


linux redis安装、配置

Redis 简介


**是一种开源的数据存储技术,它提供了一个高性能的键值对存储系统,支持多种数据结构,包括字符串、哈希、列 **

**表、集合和有序集合等。Redis 具有内存高速存储和持久化存储的能力,可以用于缓存、会话管理、发布/订阅、实 **

**时分析等多个领域。Redis 的优点包括高性能、高并发、支持事务和 Lua 脚本、多种数据结构、易于扩展和部署等。 **

**同时,Redis 也有一定的缺点,如可用内存容量受限、持久性存储的磁盘 I/O 等待问题等。 **

**【】 **

准备环境


1.关闭防火墙

2.网卡配置调到桥接模式

3.需要连接外网

要在 Redis 中设置密码,步骤


安装

1. 首先连接外网的情况下对本机进行升级

命令:yum -y update

2. 安装 redis 的 epel 源

命令:yum -y install epel-release

3.使用 yum 安装 redis

命令:yum -y install redis

设置密码步骤

**1. 打开您的 Redis 配置文件,它通常位于 redis.conf。 **

**2. 寻找并取消注释掉 requirepass 这一行。 **

**3. 在 requirepass 行下面,输入您想要设置的密码。 **

**4. 保存并关闭配置文件。 **

**5. 重启 Redis 服务以使更改生效。 **

**6. 现在,您需要在连接到 Redis 时提供密码。通过在 redis-cli 中使用'AUTH'命令,您可以做到这一点,例如'AUTH ****your_password',其中'your_password'是您设置的密码。 **

配置文件按需要修改的选项


appendonly 后面的 no 表示 Redis 不会将写操作追加到磁盘上的日志文件中

可以把它改成 yes 则表示 redis 写入的操作会被记录到日志文件里方便以后查找

将bind 127.0.0.1(本地回环地址)修改为0.0.0.0(表示所有人都可以登录)

登录 Redis


(远程连接所需要的命令)

**在终端中输入以下命令: **

**``` **

**redis-cli -h <hostname> -p <port> -a <password> **

**``` **

其中,

<hostname> 是 Redis 服务器的主机名或 IP 地址,

<port> 是 Redis 服务器监听的端口号,

**<password> 是 **Redis 服务器的认证密码(如果设置了的话)

**如果服务器在本地,可以使用默认值: **

**``` **

**redis-cli **

**``` **

如果 Redis 服务器没有设置密码,则无需使用 -a 选项 如果服务器设置了密码,则必须使用 -a 选项并提供密****码

登录成功后,可以使用 Redis 命令进行交互。

Redis 常用操作示例及说明


使用命令: redis-cli 进入到 redis 下

用 AUTH (密码)登录到 redis 下

** 在进行下步操作**

**1. SET 和 GET **

**``` **

**示例: **

> SET name "Alice"(表示创建 name 并写入内容)

**OK **

> GET name(查看name里的值)

**"Alice" **

**说明: **

SET 命令用于将指定的 Key 设定为对应的 Value 值。GET 命令用于获取指定 Key 的 Value 值

**``` **

**2. EXISTS 和 DEL **

**``` **

**示例: **

> EXISTS name(查看name谁否存在)

1 (“1”表示有)

> DEL name (表示删除name)

**1 **

> EXISTS name

0 (“0”表示没有)

**说明: **

EXISTS 命令用于判断指定的 Key 是否存在。DEL 命令用于删除指定的 Key 及其对应的 Value 值

**``` **

**3. KEYS **

**``` **

**示例: **

> SET name1 "Alice"

**OK **

**> SET name2 "Bob" **

**OK **

**> KEYS name* **

**1) "name2" **

**2) "name1" **

**说明: **

KEYS 命令用于查找符合指定 pattern 的所有 Key

**``` **

4. INCR 和 DECR

**``` **

**示例: **

**> SET count 10 **

**OK **

**> INCR count **

**11 **

**> DECR count **

**10 **

**说明: **

INCR 命令用于对指定的 Key 做自增操作。DECR 命令用于对指定的 Key 做自减操作

**``` **

**5. EXPIRE 和 TTL **

**``` **

**示例: **

**> SET session "x32kdjf34" **

**OK **

> EXPIRE session 60 (以秒为单位)

**1 **

**> TTL session **

**57 **

过期之后添加不上时间

**说明: **

EXPIRE 命令用于设置指定 Key 的过期时间,TTL 命令用于获取指定 Key 的剩余过期时间

**``` **

**6. HASH **

**``` **

**示例: **

**> HSET user1 name "Alice" email "alice@example.com" **

**OK **

**> HSET user2 name "Bob" email "bob@example.com" **

**OK **

**> HGETALL user1 **

**1) "name" **

**2) "Alice" **

**3) "email" **

**4) "alice@example.com" **

**说明: **

HASH 命令用于在指定 Key 中设置多个字段的值,也可用于获取指定 Key 中所有字段及其值


**``` **

**7. LIST **

```

**示例: **

**> LPUSH tasks "Task 3" **

**1 **

**> LPUSH tasks "Task 2" **

**2 **

**> LPUSH tasks "Task 1" **

**3 **

**> LRANGE tasks 0 -1 **

**1) "Task 1" **

**2) "Task 2" **

**3) "Task 3" **

**> LPOP tasks **

**"Task 1" **

**说明: **

LIST 命令用于在指定 Key 的列表中插入、获取、删除值

**``` **

**8. SET **

**``` **

**示例: **

**> SADD colors "red" "green" "blue" **

**3 **

**> SMEMBERS colors **

**1) "green" **

**2) "red" **

**3) "blue" **

**说明: **

SET 命令用于在指定 Key 的集合中添加元素,SMEMBERS 命令用于获取指定 Key 的集合中所有元素

**``` **

REDIS 持久化


概述

**Redis 提供了两种方式进行持久化,RDB 和 AOF。 **

RDB:将 Redis 在内存中的数据定期 dump 到硬盘上的一个快照文件,用于进行备份和恢复。其优点是安全,可靠且 性能高,缺点是在最近一次 RDB 文件被 dump 之后的数据丢失风险较高

**AOF:将所有的对 Redis 的写入操作都记录在一个追加类型的文件中,用于恢复数据。其优点是数据丢失的风险较 低,缺点是相对于 RDB 文件而言,文件体积更大,恢复速度更慢。 **

**可以通过配置文件中的以下参数来控制持久化方式: **

- save:设定在 N 秒内,如果有 M 个 key 被修改,则自动执行一次 RDB 操作;- appendfsync:设定数据同步时的方式,如 always 表示每次操作都同步,everysec 表示每秒同步一次,no 表示不同步

**需要注意的是,在同时开启 RDB 和 AOF 持久化方式时,恢复数据时 AOF 的优先级高于 RDB。 **

要在 Redis 中配置 RDB 持久化,需要在 redis.conf 配置文件中进行设置

RDB 持久化配置

**``` **

**# 在多长时间后,如果有多少个键发生更改,Redis 执行写操作 **

**save 900 1 **

**save 300 10 **

**save 60 10000 **

**# 持久化文件的名称和位置 **

**dbfilename dump.rdb **

**# 保存持久化文件的目录 **

**dir /var/lib/redis **

**``` **

**在上面的示例中,配置了三个 save 语句,表示如果在 900 秒内有至少 1 个键值对被修改,Redis 就会自动执行一次 RDB 持久化操作,以便将内存中的数据快照写入到磁盘中。其他两个参数表示进一步的持久化周期设置。dbfilename 表示持久化文件的名字,dir 表示持久化文件应该被保存在哪个目录中。 **

**除了在配置文件中手动设置外,可以使用 CONFIG SET 命令对 Redis 进行实时配置。使用命令 SET CONFIG AUTO-AOF-SYNC YES 可以开启自动 AOF 同步,使用 SAVE 命令可以立即强制执行一次 RDB 持久化操作。 **

**Redis 的 AOF 持久化是指将 Redis 服务器执行的每个写入操作都记录在追加日志文件中,这样可以确保即使服务器发 生故障,也能够保证最新的数据不会丢失。Redis 的 AOF 持久化有以下两种方式: **

**1、always:每次发生写入操作时都会执行同步,会影响服务器的写入性能,但数据保护程度较高。 **

2、everysec:每秒执行一次同步操作,折中选项,既保证了写入性能又保障了数据安全

AOF 持久化

**1、通过编辑配置文件 redis.conf 来打开 AOF 持久化功能: **

**``` **

**appendonly yes **

**``` **

**2、设置 AOF 日志文件的名称: **

**``` **

**# AOF 文件名,默认值为 appendonly.aofappendfilename "myappendonly.aof" **

**``` **

**3、设置 AOF 日志的存放目录: **

**``` **

**# AOF 存放路径,默认值为"./" **

**dir /path/to/appendonly/ **

**``` **

**4、设置 AOF 持久化的同步频率: **

**``` **

**# 设定数据同步方式,always 表示每次操作都同步,everysec 表示每秒同步一次 **

**appendfsync everysec **

**``` **

**5、重启 Redis 服务生效: **

**``` **

**sudo systemctl restart redis **

**``` **

**完成以上步骤后,Redis 就可以使用 AOF 持久化了。需要注意的是,AOF 持久化会带来一定性能损失,因此尽量选 择每秒同步一次的策略,来保证数据的安全性和性能表现的平衡。 **

REDIS 数据恢复


**Redis 提供了多种数据恢复方式:从 RDB 持久化文件恢复、从 AOF 持久化文件恢复、使用 Redis 复制功能从主库恢 复数据。 **

**以下是使用 RDB 和 AOF 持久化文件恢复数据的步骤: **

**1、使用 Redis 自带的命令来恢复数据。如果使用的是 RDB 持久化,可以找到最新的 dump.rdb 文件,在 redis-cli 下 执行命令即可: **

**``` **

**redis-cli --raw < /var/lib/redis/dump.rdb **

**``` **

**如果使用的是 AOF 持久化,可以使用 bgrewriteaof 命令或者过滤操作来获取恢复文件: **

**``` **

**# 使用 bgrewriteaof 命令 **

**redis-cli bgrewriteaof **

*grep -i "set.key_name" /var/lib/redis/appendonly.aof > /var/lib/redis/redis_restore.aof

**# 或者使用 sed 过滤 **

**sed -n '/^.*set.key_name.$/p' /var/lib/redis/appendonly.aof > /var/lib/redis/redis_restore.aof **

**# 恢复 **

**redis-cli --pipe < /var/lib/redis/redis_restore.aof **

**``` **

**2、将恢复文件复制到新的 Redis 服务器所在的目录中。 **

**3、启动 Redis 服务器。 **

**4、在 redis.conf 文件中确保已经启用了持久化,如已启用则执行以下命令: **

**``` **

**redis-server /path/to/redis.conf **

**``` **

**执行上述命令后就可以使用恢复的数据了,这两种方法可以根据实际需要灵活选择。 **

需要注意的是,Redis 持久化文件中的数据可能并不是最新的,因此在进行数据恢复之前需要确认数据恢复的时效 性和完整性。如果数据丢失太多,最好是在备份恢复之外,再尝试使用 Redis 复制功能对数据进行恢复

REDIS 示例数据


**Redis 官网提供了一些示例数据,可以用于学习和测试 Redis 的功能。你可以前往 Redis 官网的下载页面获取示例数据文件。 **

**具体下载步骤如下: **

1. 打开 Redis 官网的下载页面(https://redis.io/download)


2. 在页面中找到“Sample datasets for Redis” 部分

3. 点击链接,选择一个你想要下载的示例数据文件即可

**目前提供的示例数据文件有以下几个: **

**- big_data.zip:包含一些极大数据的 Redis 数据集。 **

**- country_zip_fat_j.txt:国家表,可以用于测试模糊搜索和排序等功能。 **

**- gfiber.py:用于生成一个二进制谷歌光纤数据集的 Python 脚本。 **

**- geo_data.py:用于生成一个包含随机地理位置数据的 Python 脚本。 **

**- hello-world.txt:一个简单的 Redis 教程数据集。 **

**你可以根据自己的需要选择下载。下载完成后,解压示例数据文件,然后使用 Redis 客户端将数据导入 Redis 数据库中,即可开始使用并学习 Redis 数据库功能。 **

REDIS 导入数据


**Redis 支持多种方式导入数据,常见的方式包括: **

**1. 通过 Redis 自带的命令来导入数据 **

**可以使用 Redis 自带的数据导入命令SET,以及相应的数据类型命令,将数据添加到 Redis 数据库中。例如: **

**``` **

**SET key1 value1 **

**HASHSET key2 field1 value1 field2 value2 **

**LIST key3 value1 value2 value3 **

**SET key4 value1 value2 value3 **

**``` **

**2. 通过 Redis 客户端工具导入数据 **

**Redis 客户端工具 redis-cli 可以使用SETMSETHSETHMSET等命令,同时还可以将数据保存在一个文本文件中,然后导入到数据库中。例如: **

**将保存在文件data.txt中的数据导入 Redis 数据库,可以使用以下命令: **

**``` **

**cat data.txt | redis-cli --pipe **

**``` **

**3. 通过 Redis 的持久化功能导入数据 **

**已经进行过持久化的数据可以通过以下命令导入 Redis 数据库: **

**``` **

**redis-cli --raw < dump.rdb **

**``` **

**注意:使用此命令将会覆盖 Redis 数据库的所有数据。 **

**4. 通过 Redis 数据备份/恢复来导入数据 **

**使用 Redis 数据备份/恢复工具,在将备份文件恢复到新的 Redis 实例时,会将备份文件中的数据导入 Redis 数据库中。 **

**假设你已经有一份 Redis 的数据备份 dump.rdb,可以使用以下命令来恢复数据: **

**``` **

**redis-server --appendonly yes **

**redis-cli --rdb ./dump.rdb **

**``` **

上述是 Redis 导入数据的常见方式,可以根据你的具体情况选择一种方式来导入数据到 Redis 数据库中。

标签: redis linux 数据库

本文转载自: https://blog.csdn.net/2302_77750172/article/details/131169322
版权归原作者 so be it 所有, 如有侵权,请联系我们删除。

“linux redis安装、配置”的评论:

还没有评论