【Redis7学习日记】—— 入门概述配置篇

一、Redis入门概述

1.1 Redis 是什么?

Remote Dictionary Server(远程字典服务)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库提供了丰富的数据结构,例如String、Hash、List、Set、SortedSet等等。数据是存在内存中的,同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等多种功能特性提供了主从模式、Redis Sentinel和Redis Cluster集群架构方案

1.2 Redis 有什么作用?

  • 我们先介绍一下Redis数据库与传统数据库(MySQL)之间的关系:
RedisMySQL
一种NoSQLkey-value数据库一种关系型数据库
存储在内存存储在磁盘

Redis在某一些场景使用中要明显优于mysql,比如计数器、排行榜等方面
Redis通常用于一些特定场景,需要与Mysql一起配合使用
两者并不是相互替换和竞争关系,而是共用和配合使用

在这里插入图片描述

  • 作用如下:
    • 可以做分布式缓存,逻辑位置在MySQL之前,减轻MySQL访问(数据操作)压力
    • 支持内存存储和持久化(RDB + AOF),Redis支持异步将内存中的数据写到磁盘上,不影响正常的服务
    • 支持高可用架构搭配:单机、主从、哨兵、集群
    • 也可以解决缓存穿透、击穿、雪崩等问题
    • 支持分布式锁、队列等

在这里插入图片描述

1.3 Redis 作为数据库有哪些优势?

  • Redis 读的速度可以达到 110000次/秒,写的速度可以达到 8100 次/秒 【高性能
  • 支持多种数据类型,例如:key-v,set,list,zsit,hash 等
  • Redis 支持数据持久化,可以将内存中的数据写入磁盘中,重启的时候可以再次加载进行使用
  • Redis 支持数据的备份 【master-slave模式的数据备份】

在这里插入图片描述

1.4 Redis 下载 与 Redis7新特性:

  • 此处推荐一个Redis中文官网下载Redis

  • 再推荐一个 Redis在线测试

  • Redis 发展的几个重要的里程碑
    在这里插入图片描述

  • Redis 版本的命名规则:

    • 版本号第二位如果是奇数,则为非稳定版本 如2.7、2.9、3.1
    • 版本号第二位如果是偶数,则为稳定版本 如2.6、2.8、3.0、3.2
  • Redis6Redis7 的部分新特性介绍:

    • Redis Functions
      在这里插入图片描述

    • Client-eviction
      在这里插入图片描述

    • Multipart AOF
      在这里插入图片描述

    • ACL V2
      在这里插入图片描述

    • 新增命令
      在这里插入图片描述

    • listpack 代替 ziplist 【在7.0版本已经没有了ziplist的相关配置】
      在这里插入图片描述

    • 底层性能提升
      在这里插入图片描述
      翻译为:
      在这里插入图片描述

  • 总体概述:大体和之前的redis版本保持一致和稳定,主要是自身底层性能和资源利用率上的优化和提高

多AOF文件支持7.0 版本中一个比较大的变化就是 aof 文件由一个变成了多个,主要分为两种类型:基本文件(base files)、增量文件(incr files),请注意这些文件名称是复数形式说明每一类文件不仅仅只有一个。在此之外还引入了一个清单文件(manifest) 用于跟踪文件以及文件的创建和应用顺序(恢复)
config命令增强对于Config Set 和Get命令,支持在一次调用过程中传递多个配置参数。例如,现在我们可以在执行一次Config Set命令中更改多个参数: config set maxmemory 10000001 maxmemory-clients 50% port 6399
限制客户端内存使用 Client-eviction一旦 Redis 连接较多,再加上每个连接的内存占用都比较大的时候, Redis总连接内存占用可能会达到maxmemory的上限,可以增加允许限制所有客户端的总内存使用量配置项,redis.config 中对应的配置项// 两种配置形式:指定内存大小、基于 maxmemory 的百分比。maxmemory-clients 1gmaxmemory-clients 10%
listpack紧凑列表调整listpack 是用来替代 ziplist 的新数据结构,在 7.0 版本已经没有 ziplist 的配置了(6.0版本仅部分数据类型作为过渡阶段在使用)listpack 已经替换了 ziplist 类似 hash-max-ziplist-entries 的配置
访问安全性增强ACLV2在redis.conf配置文件中,protected-mode默认为yes,只有当你希望你的客户端在没有授权的情况下可以连接到Redis server的时候可以将protected-mode设置为no
Redis FunctionsRedis函数,一种新的通过服务端脚本扩展Redis的方式,函数与数据本身一起存储。简言之,redis自己要去抢夺Lua脚本的饭碗
RDB保存时间调整将持久化文件RDB的保存规则发生了改变,尤其是时间记录频度变化
命令新增和变动Zset (有序集合)增加 ZMPOP、BZMPOP、ZINTERCARD 等命令,Set (集合)增加 SINTERCARD 命令LIST (列表)增加 LMPOP、BLMPOP ,从提供的键名列表中的第一个非空列表键中弹出一个或多个元素。
性能资源利用率、安全、等改进自身底层部分优化改动,Redis核心在许多方面进行了重构和改进,主动碎片整理V2:增强版主动碎片整理,配合Jemalloc版本更新,更快更智能,延时更低,HyperLogLog改进:在Redis5.0中,HyperLogLog算法得到改进,优化了计数统计时的内存使用效率,7更加优秀,更好的内存统计报告,如果不为了API向后兼容,我们将不再使用slave一词…(政治正确)

二、安装配置

2.1 准备工作

  • 此处是通过 VMWare 创建 CentOS 虚拟机,然后再安装配置 Redis 为例 【默认电脑里面已经安装好了虚拟机】
  • 安装 Redis 的前提是具备 gcc 编译环境:
    • 我们可以通过 gcc -v 查看 gcc 的版本以及是否配备了 gcc 【推荐版本在 3.8.4 以上(不包括这个版本)】
    • 通过 yum install gcc- c++安装 c++ 编译环境
    • 安装结束后,再次通过 gcc --version 查看
      在这里插入图片描述

2.2 具体配置环节

我们要将下好的 Redis 的压缩包放到我们Linux操作系统的 /opt 目录下

  • 如果是在 Windows 里下载的压缩包,那么如何传递到自己的虚拟机中呢?

    • 此处我通过 Xftp 软件,将虚拟机与本地主机连接起来,实现文件拖拽快速传输
      • 首先新建连接,输入我们虚拟机的 ip 【可以在终端中通过 ipconfig 查看】
      • 然后输入我们的登录账户和密码,就可以创建连接
      • 连接成功后可以直接把我们想要放到虚拟机中的文件发送过去
        在这里插入图片描述
  • 先通过 cd xxx 指令进入到我们Redis压缩包所在的目录 【先要使用su -指令,然后输入管理员密码切换用户身份,以防后面操作权限不够】

  • 通过 mv redis-7.0.10.tar.gz /opt 指令将文件移动到 /opt 目录下

  • 然后通过tar -zxvf redis-7.0.10.tar.gzs 解压压缩包,解压成后通过 cd redis-7.0.10 指令进入该目录

  • 通过 make && make install 指令开始编译并进行默认路径安装 【默认路径为 /usr/local 相当于 Windows 中的 C:\ProgramFile】

  • 我们需要通过 mkdir /myredis 指令创建一个存放配置文件的文件夹

    • 然后通过cp redis.config /myredis/redis7.config 指令将我们 redis-7.0.10 目录下的配置文件拷贝过去
  • 接下来就是修改我们拷贝过来的配置文件:

    • 通过 cd /myredis 指令来到我们的配置类目录
    • 通过vim redis7.config 来编辑修改我们的 redis 配置文件
      • 进入配置文件后在键盘输入 :set nu 回车,可以显示行数
      • 键盘按 i 开启编辑模式
      • 来到 1036 行,将注释掉的 requirepass 取消注释,并指定我们的密码为 111111 【去掉#号】
      • 默认daemonize no 改为 daemonize yes 【大约在几十行】
      • 默认protected-mode yes 改为 protected-mode no 【大约在100多行】
      • 默认 bind 127.0.0.1 改为 直接注释掉(默认bind 127.0.0.1只能本机访问)或改成本机IP地址,否则影响远程IP连接 【大约在300多行】
      • 先按 Esc, 然后键盘输入 :wq 退出并保存修改
    • 输入 reboot 指令重启虚拟机,使配置生效
  • 接下来我们启动 Redis 服务:

    • /user/local/bin 目录下 使用redis-server /myredis/redis7.config 指令启动服务 【如果什么都没显示,说明启动成功】
      • 出现以下情况,那么就删除我们拷贝的配置文件,重新拷贝并配置
        在这里插入图片描述
  • 连接我们的 Redis 客户端:

    • 通过 redis-cli -a 111111 连接我们的客户端
      在这里插入图片描述
  • 关闭 Redis 的方式:

    • 单实例关闭:redis-cli -a 111111 shutdown
    • 指定端口多实例关闭:redis-cli -p 6379 shutdown
  • 卸载 Redis 的方式:

    • 先停止 Redis 的服务
      在这里插入图片描述
    • 然后删除/usr/local/lib 目录下 Redis 的相关文件
      在这里插入图片描述
  • 补充知识点:

    • 安装完Redis后,我们可以来到 /usr/local/bin 目录下查看具体安装了什么?
      在这里插入图片描述
      在这里插入图片描述
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你好!关于 Redis 7 的配置,以下是一些常见的配置问题和答案: 1. 如何修改 Redis 7 的配置文件? Redis 7 的配置文件通常位于 `/etc/redis/redis.conf`。你可以使用文本编辑器(如 vi 或 nano)打开该文件进行修改。 2. 如何修改 Redis 7 的端口号? 在配置文件中找到并修改以下行:`port 6379`。将 `6379` 修改为你想要使用的端口号,并保存文件。重启 Redis 服务使更改生效。 3. 如何启用 Redis 7 的认证密码? 在配置文件中找到并修改以下行:`# requirepass foobared`。将该行的注释取消,并将 `foobared` 替换为你想要设置的密码。保存文件并重启 Redis。 4. 如何配置 Redis 7 的持久化方式? Redis 7 支持多种持久化方式,例如 RDB 持久化和 AOF 持久化。在配置文件中找到并修改以下行: - RDB 持久化:`save 900 1` 表示在 900 秒内至少有 1 个键被改变时执行持久化操作。 - AOF 持久化:`appendonly yes` 启用 AOF 持久化。可以进一步配置 `appendfsync` 参数以控制同步频率。 5. 如何配置 Redis 7 的最大内存限制? 在配置文件中找到并修改以下行:`# maxmemory <bytes>`。将 `<bytes>` 替换为你想要设置的最大内存限制,以字节为单位。保存文件并重启 Redis。 请注意,这些是常见的配置问题和答案,具体的配置需求可能会有所不同。在修改配置文件之前,建议先备份原始文件以防止意外情况发生。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bow.贾斯汀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值