linux redis安装、配置

目录

Redis 简介

准备环境

要在 Redis 中设置密码,步骤

安装

设置密码步骤

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

登录 Redis

Redis 常用操作示例及说明

REDIS 持久化

概述

RDB 持久化配置

AOF 持久化

REDIS 数据恢复

REDIS 示例数据

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 持久化有以下两种方式:
1always:每次发生写入操作时都会执行同步,会影响服务器的写入性能,但数据保护程度较高。
2everysec:每秒执行一次同步操作,折中选项,既保证了写入性能又保障了数据安全

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` 可以使用`SET``MSET``HSET``HMSET`等命令,同时还可以将数据保存在一个文本文件中,然后导入到数据库中。例如:
将保存在文件`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 数据库中。
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值