linux虚拟机上面安装配置redis

1.前期准备:

(1)下载redis-6.2.6.tar.gz(如果已经下载,可跳过这一步)

网盘下载链接如下

https://pan.baidu.com/s/1yQmsw0EraOjNutwdWv0WOg?pwd=2586 

(2)如果执行yum命令遇到镜像源的问题,可以看看我的这篇文章
在linux虚拟机上面配置Docker时所踩过的坑_docker 20.10.6设置镜像源不生效-优快云博客

(3)最好把Finalshell也下载好,具体下载教程详见如下文章:

保姆级教程下载finalshell以及连接云服务器基础的使用教程_finalshell下载安装-优快云博客

2.安装配置redis

(1)登录hadoop用户,把redis-6.2.6.tar.gz上传到/export/server目录并且解压到当前目录

代码如下

su - hadoop
cd /export/server
rz

接着解压

tar -zxvf redis-6.2.6.tar.gz -C /export/server

(2)先cd redis-6.2.6/,然后安装gcc

cd redis-6.2.6/
yum -y install gcc

查看gcc版本

gcc -v

(3)还是在redis-6.2.6/目录,执行make命令

make

效果如下

中间会显示一堆东西,大概要5分钟左右才能好

这时ll命令查看src命令有没有创建好,显然如下所示,已经创建好了

(4)进入src目录命令:cd src 

安装到redis到指定目录命令:make install PREFIX=/export/server/prod/redis

cd src 
make install PREFIX=/export/server/prod/redis

(5)创建etc目录命令:mkdir /export/server/prod/redis/etc 
移动redis.conf配置文件:mv /export/server/redis-6.2.6/redis.conf /export/server/prod/redis/etc/

mkdir /export/server/prod/redis/etc 
mv /export/server/redis-6.2.6/redis.conf /export/server/prod/redis/etc/
cd /export/server/prod/redis/etc/
ls

(6)配置redis为后台启动
vi /export/server/prod/redis/etc/redis.conf //把daemonize no 改成daemonize yes

vi /export/server/prod/redis/etc/redis.conf

进入文件后,为了快速找到daemonize no的位置,先点击esc键,然后输入“/daemonize”,就可以快速找到daemonize no的位置。

(6)切换到root用户,接着修改文件/etc/profile

代码如下:

su -
vi /etc/profile

添加以下内容(记得先进入插入模式)

export REDIS_HOME=/export/server/prod/redis
export PATH=$PATH:$REDIS_HOME/bin

保存并且退出 

source /etc/profile

3.登录hadoop用户,开启redis服务并且启动redis

(1)登录hadoop用户,开启redis服务

su - hadoop
redis-server /export/server/prod/redis/etc/redis.conf
[hadoop@node1 ~]$ redis-server /export/server/prod/redis/etc/redis.conf

当然也可以吧redis.conf复制一份出来

cp /export/server/prod/redis/etc/redis.conf /export/server/begin_one_Redis.conf

然后启动

redis-server begin_one_Redis.conf 

(2)启动redis并且尝试使用一下

redis-cli 
[hadoop@node1 ~]$ redis-cli
127.0.0.1:6379> set wu 21
OK
127.0.0.1:6379> get wu
"21"
127.0.0.1:6379> 

到这里,就基本上算是已经配置好了。

(3)关闭redis-server服务的命令如下:

redis-cli shutdown

效果如下:

[hadoop@node1 ~]$ redis-cli shutdown

4.参考文章

(1)Linux下安装Redis,及部分配置详情_linux下载redis-优快云博客

(2)Redis超详细入门教程(基础篇)-优快云博客

(3)在linux虚拟机上面配置Docker时所踩过的坑_docker 20.10.6设置镜像源不生效-优快云博客

(4)【转】Linux大棚版redis入门教程-优快云博客

(5)超强、超详细Redis数据库入门教程_redis学习系列-优快云博客

(6)Redis 45分钟教程-优快云博客

(7)Redis教程(从入门到高阶)-优快云博客

5.补充笔记

(1)通过vi命令进入linux的文件后,我想要快速跳转到daemonize no第一次出现的位置

在使用 `vi` 或 `vim` 编辑器时,您可以利用 `vim` 提供的强大搜索功能来快速跳转到指定的字符串(如 `daemonize no`)第一次出现的位置。

### 快速跳转到 `daemonize no` 第一次出现的位置:

1. **进入正常模式**:
   如果您正在编辑文件并且处于插入模式(即您正在输入文本),按 `Esc` 键退出到正常模式。

2. **开始搜索**:
   在正常模式下,输入 `/` 后跟您要查找的字符串,然后按 `Enter` 键。比如,要查找 `daemonize no`,可以输入:

   ```
   /daemonize no
   ```

3. **跳转到第一次出现的位置**:
   按下 `Enter` 后,`vi` 会自动将光标跳转到文件中 `daemonize no` 第一次出现的位置。如果存在该字符串,它会自动定位到第一个匹配的位置。

4. **如果想继续查找后续出现的匹配项**:
   - 按 `n` 可以跳到下一个匹配位置。
   - 按 `N` 可以跳到上一个匹配位置(反向查找)。

### 示例步骤:

假设您正在使用 `vi` 编辑文件,并且希望跳转到 `daemonize no`:

```bash
vi /etc/redis/redis.conf
```

然后在 `vi` 中:

1. 按 `Esc` 键确保处于正常模式。
2. 输入 `/daemonize no` 并按 `Enter`。
3. `vi` 会将光标跳转到 `daemonize no` 第一次出现的位置。

### 其他相关命令:

- **搜索区分大小写**:默认情况下,`/` 搜索是区分大小写的。如果您想进行不区分大小写的搜索,可以输入:

  ```
  /daemonize no\c
  ```

- **高亮显示匹配项**:如果您希望在整个文件中高亮显示所有匹配项,可以在正常模式下输入以下命令启用高亮:

  ```
  :set hlsearch
  ```

  这样文件中的所有 `daemonize no` 匹配项会被高亮显示,帮助您更清晰地查看每个出现的位置。

这些方法能够帮助您快速、精准地定位文件中的特定内容。

(2)redis-server 前台启动redis服务后为什么输不了命令,要新开一个窗口才能输入命令

当你在前台启动 `redis-server` 后无法输入命令,这通常是因为 `redis-server` 进程在前台运行时占用了当前终端窗口,阻止了其他命令的输入。具体来说,Redis 服务器会占用当前的终端窗口进行输出和日志显示,而在该终端上无法直接输入新的命令。

### 解决方案

1. **新开一个终端窗口**:
   正如你所提到的,最常见的做法是打开一个新的终端窗口,在新窗口中使用 `redis-cli` 来连接和操作 Redis 服务。这样,原来用来启动 Redis 服务的终端可以继续运行,日志输出不会被干扰。

2. **后台启动 Redis 服务**:
   如果你希望在启动 Redis 服务后继续使用当前终端,可以将 Redis 服务放到后台运行。可以使用以下两种方法:

   - **方法一:使用 `&` 符号将 Redis 进程放到后台**:
     
     ```bash
     redis-server &  # 在后台启动 Redis 服务
     ```

     这样,Redis 服务就会在后台运行,你可以继续在当前终端窗口输入命令。

   - **方法二:使用 `nohup` 命令使 Redis 服务在后台持续运行**:
     
     ```bash
     nohup redis-server &  # 即使退出终端,Redis 也会继续运行
     ```

     `nohup` 命令会让 Redis 进程在后台运行,并且即使你退出终端会话,Redis 服务仍然会继续运行。输出日志会被默认保存到 `nohup.out` 文件中。

3. **通过 `screen` 或 `tmux` 使用会话管理**:
   使用终端复用工具(如 `screen` 或 `tmux`)可以让你在一个终端窗口中创建多个虚拟终端会话。你可以在一个会话中启动 Redis 服务,在另一个会话中使用 `redis-cli` 命令来与 Redis 交互。

   - 使用 `screen`:
     ```bash
     screen  # 启动一个新的会话
     redis-server  # 启动 Redis
     # 按下 Ctrl+A,然后按D退出当前会话
     ```

     这会将 Redis 服务启动在一个会话中,而你可以按 `Ctrl+A` 然后按 `D` 来分离该会话,之后重新连接使用 `screen -r`。

   - 使用 `tmux`:
     ```bash
     tmux  # 启动一个新的 tmux 会话
     redis-server  # 启动 Redis
     # 按下 Ctrl+B,然后按D分离当前会话
     ```

4. **使用 `redis-cli` 连接 Redis 服务**:
   如果你已经有 Redis 服务器在后台运行,你可以通过 `redis-cli` 连接到 Redis 服务并进行交互。只需在新的终端窗口中运行:

   ```bash
   redis-cli
   ```

   默认情况下,`redis-cli` 会连接到本地的 `127.0.0.1` 地址上的 Redis 服务(端口为 6379)。如果需要连接其他 Redis 实例,可以使用以下命令:

   ```bash
   redis-cli -h <host> -p <port>
   ```

### 总结:
当你通过 `redis-server` 在前台启动 Redis 服务时,当前终端会被 Redis 的输出占用,因此无法输入其他命令。你可以通过以下方法解决:

- 打开新的终端窗口,使用 `redis-cli` 命令与 Redis 交互。
- 使用 `&` 或 `nohup` 将 Redis 服务放到后台运行。
- 使用 `screen` 或 `tmux` 等终端复用工具,在同一个终端窗口中管理多个会话。

这些方法都可以让你在启动 Redis 后继续使用当前终端或通过其他终端进行交互。

(3)在两个窗口操作示例如下(不感兴趣可以跳过)

首先配置redis为前台启动
vi /export/server/prod/redis/etc/redis.conf //把daemonize yes 改成daemonize no

第一个窗口:
第二个窗口: 

(4)有关保存的命令bgsave

bgsave

`BGSAVE` 命令是 Redis 中用于触发 **后台持久化操作**(RDB 快照)的命令。与 `SAVE` 命令不同,`BGSAVE` 命令不会阻塞 Redis 主进程,而是通过创建一个子进程来异步地将数据库数据保存到磁盘。

### `BGSAVE` 命令的基本用法:

```bash
BGSAVE
```

当执行 `BGSAVE` 命令时,Redis 会执行以下操作:

1. Redis 主进程会派发一个后台子进程来执行数据持久化(将内存中的数据保存到磁盘上的 `dump.rdb` 文件)。
2. 主进程继续处理来自客户端的请求,不会因为执行 RDB 快照操作而被阻塞。
3. 在执行过程中,新的数据修改会被累积到内存中,而 RDB 快照是在子进程创建时的数据状态的副本。

### 为什么使用 `BGSAVE`?

1. **非阻塞操作**:由于 `BGSAVE` 是后台操作,Redis 主进程不会被阻塞,因此可以继续处理其他客户端请求。对于高负载的 Redis 实例,`BGSAVE` 比 `SAVE` 更适合。
2. **适用于生产环境**:在生产环境中,避免长时间阻塞 Redis 进程非常重要。使用 `BGSAVE` 进行数据持久化时,客户端的请求不会受到影响,保证了高可用性和性能。

### 使用 `BGSAVE` 的流程:

1. **发起命令**:客户端发送 `BGSAVE` 命令。
   
   ```bash
   BGSAVE
   ```

2. **Redis 执行后台保存**:
   - Redis 会在后台启动一个子进程来进行快照保存。
   - 子进程会将数据库的当前状态(内存中的数据)保存到磁盘中的 `dump.rdb` 文件。
   
3. **Redis 主进程继续服务**:
   - Redis 主进程会继续处理客户端的其他请求,不会被阻塞。

4. **完成保存**:
   - 当子进程完成 RDB 快照保存后,它会退出。保存过程结束,数据已经持久化到磁盘。

### 检查 `BGSAVE` 是否成功:

你可以使用 `INFO Persistence` 命令查看 Redis 的持久化状态,并确认 `BGSAVE` 是否成功执行。

```bash
INFO Persistence
```

在返回的信息中,如果有类似下面的内容,表示 `BGSAVE` 已成功启动并且正在进行:

```plaintext
rdb_bgsave_in_progress: 1
rdb_last_bgsave_status: OK
rdb_last_bgsave_time_seconds: 15
```

- `rdb_bgsave_in_progress: 1` 表示当前正在进行 `BGSAVE` 操作。
- `rdb_last_bgsave_status: OK` 表示上次 `BGSAVE` 操作成功。
- `rdb_last_bgsave_time_seconds` 显示上次 `BGSAVE` 操作的执行时间(单位:秒)。

### `BGSAVE` 和 `SAVE` 的区别:

- **`BGSAVE`**:通过后台子进程进行数据持久化,不会阻塞 Redis 主进程,因此不会影响 Redis 的正常操作和响应时间。
- **`SAVE`**:是同步的,会阻塞 Redis 主进程,直到 RDB 快照保存完成。因此,`SAVE` 可能会导致 Redis 停顿,影响性能,尤其在处理大量数据时。

### 何时使用 `BGSAVE`?

- 在生产环境中,特别是当 Redis 实例承载高负载时,`BGSAVE` 是首选命令。它能够确保数据被持久化,同时不会阻塞 Redis 主进程。
- 如果你有特殊需要,比如在某个时刻强制保存当前数据库的状态,可以使用 `BGSAVE`。

### 总结:

`BGSAVE` 命令用于在 Redis 中执行 **非阻塞的 RDB 快照持久化**,它通过后台子进程来保存数据,因此不会影响 Redis 的响应能力。对于高并发或需要高可用性的环境,使用 `BGSAVE` 是一个更好的选择。

(5)如果想要在idea的终端里面写代码,就可能需要调整一些设置,否则会有报错

详见这篇文章:idea连接云服务器上的redis报错:Failed to connect to any host resolved for DNS name.【已解决】-优快云博客

因为这篇文章里面的有一部分有一点问题,所以我自己又写了一篇文章

建议看看这一篇文章:

idea连接虚拟机上面的redis报错问题:Failed to connect to any host resolved for DNS name.【已成功解决】-优快云博客

### 回答1: 为了安装 Redis 虚拟机,您可以按照以下步骤操作: 1. 下载 Redis 安装包:可以前往 Redis 官网(https://redis.io/download)下载最新版本的 Redis 安装包。 2. 安装 Redis:在 Linux 虚拟机中打开终端,解压安装包,并进入解压后的文件夹。执行命令“make”来编译 Redis。 3. 启动 Redis:执行命令“src/redis-server”来启动 Redis 服务器。 4. 测试 Redis:在另一个终端中执行命令“src/redis-cli”来连接 Redis。然后执行“ping”命令来测试 Redis 是否正常工作。 这就是在 Linux 虚拟机安装 Redis 的简单步骤。 ### 回答2: 在linux操作系统下安装redis,可以借助虚拟机来完成安装过程。下面是安装步骤: 步骤一:下载redis安装包 进入redis官网 http://redis.io/download 下载并解压redis源码包。 步骤二:安装redis依赖环境 sudo apt-get install gcc libc6-dev make 步骤三:编译redis cd redis-<version> make 步骤四:安装redis sudo make install 步骤五:启动redis redis-server 步骤六:测试redis redis-cli ping 若返回pong,则表明安装成功。 虚拟机安装过程: 步骤一:下载虚拟机安装包 从虚拟机官网(如vmware、virtualbox等)下载适合自己系统的安装包,然后进行安装。 步骤二:创建虚拟机 打开虚拟机程序,点击创建虚拟机按钮,选择操作系统,设置虚拟硬盘大小、内存大小等参数,然后在虚拟机安装linux系统。 步骤三:将redis源码拷贝到虚拟机内 可以使用scp命令将redis源码从本地拷贝到虚拟机内。 scp redis-<version>.tar.gz root@<ipaddress>:/root/ 将redis-<version>.tar.gz拷贝到虚拟机/root/目录下。 步骤四:解压redis源码 在虚拟机内打开终端,进入/root/目录下,解压redis源码:tar -zxvf redis-<version>.tar.gz 步骤五:按照上述步骤安装redis 依次执行步骤二至步骤六。 最后,如果需要在虚拟机外部访问redis,还需要设置虚拟机的防火墙规则,允许来自外部的连接访问redis服务端口。 ### 回答3: Redis是一个高性能的键值存储系统,可以用于缓存、消息队列和分布式锁等方面。而Linux虚拟机是一种基于主机操作系统的虚拟化技术,可以在一台物理服务器上运行多个虚拟机,每一个虚拟机拥有自己的独立操作系统和资源。通过在Linux虚拟机安装Redis,可以为企业提供高效可靠的数据存储解决方案。 首先,需要在Linux虚拟机安装Redis。可以通过以下步骤进行安装: 1. 打开终端,并使用以下命令更新系统的软件包列表: $ sudo apt-get update 2. 然后,安装Redis服务: $ sudo apt-get install redis-server 3. 安装完成后,使用以下命令启动Redis服务 $ sudo systemctl start redis 4. 可以使用以下命令检查Redis服务是否运行: $ sudo systemctl status redis 此时,如果Redis服务已经成功启动,则状态应该是"active (running)"。 启动服务后,可以在Linux虚拟机中测试Redis服务是否正常运行。可以使用以下命令: $ redis-cli 若成功连接到Redis服务,则可以执行Redis命令来测试其功能,例如: > set mykey somevalue OK > get mykey "somevalue" 最后,需要确保Redis服务能够在Linux虚拟机启动后自动运行。可以使用以下命令将Redis服务添加到自动启动项: $ sudo systemctl enable redis 以上是在Linux虚拟机安装Redis的基本步骤,需要注意的是,Linux操作系统和虚拟机软件等方面的版本要求,以确保Redis服务能够正常运行,同时也需要考虑到安全性方面的问题,如合理设置Redis密码等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值