Redis7

Redis7入门概述

作者:antirez Github

博客

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

Redis是一种缓存技术

  1. 分布式缓存,挡在mysql数据库之前的带刀护卫
  2. 内存存储和持久化(RDB+AOF), redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务
  3. 高可用架构搭配
  4. 缓存穿透、击穿、雪崩
  5. 分布式锁
  6. 队列
  7. 排行版+点赞

数据库遵循 2(写)- 8(读)原则,为了让这两个保持平衡,我们使用redis缓存,将8(读)进行降低。

image-20240421191309648

与传统数据库关系(mysql)

  1. Redis是key-value数据库(NoSQL一种),mysql是关系数据库

  2. Redis数据操作主要在内存,而mysql主要存储在磁盘

  3. Redis在某一些场景使用中要明显优于mysql,比如计数器、排行榜等方面

  4. Redis通常用于一些特定场景,需要与Mysql一起配合使用

  5. 两者并不是相互替换和竞争关系,而是共用和配合使用

优势

  1. 性能极高 - Redis能读的速度是110000次/秒,写的速度是81000次/秒
  2. Redis数据类型丰富,不仅仅支持简单的key-value类型的数据
  3. 同时还提供list,set,zset,hash等数据结构的存储
  4. Redis支持数据的持久化,可以将内存中的数据保持在磁盘中
  5. 重启的时候可以再次加载进行使用
  6. Redis支持数据的备份,即master-slave模式的数据备份

下载

官网:www.redis.cn

github:Release 7.2.4 · redis/redis (github.com)

文档资料:

  1. 源码地址:https://github.com/redis/redis
  2. 在线测试:https://try.redis.io
  3. 命令参考:http://doc.redisfans.com

版本号第二位如果是奇数,则为非稳定版本 如2.7、2.9、3.1

版本号第二位如果是偶数,则为稳定版本 如2.6、2.8、3.0、3.2

当前奇数版本就是下一个稳定版本的开发版本,如2.9版本是3.0版本的开发版本

安装

  1. 下载获得redis-7.0.0.tar.gz后将它放入我们的Linux目录/opt

    opt文件夹寻找方法:

    1. ctrl + alt + t 打开终端
    2. cd …/ 返回上一层目录
    3. cd …/ 返回上一层目录
    4. ls 就能看到opt
  2. /opt目录下解压redis

    tar -zxvf redis-7.0.0.tar.gz

  3. 进入 redis文件夹

  4. 在redis中执行 make && make install,make可能需要下载,按照终端提示就行

  5. 默认安装目录:在opt同级文件夹下的 usr/local/bin

    1. redis-benchmark:性能测试工具,服务启动后运行该命令,看看自己本子性能如何
    2. redis-check-aof: 修复有问题的AOF文件,rdb和aof后面讲
    3. redis-check-dump: 修复有问题的dump.rdb文件
    4. redis-cli: 客户端,操作入口
    5. redis-sentinel: redis集群使用
    6. Redis服务器启动命令
    7. redis-server:
  6. 将默认的redis.conf拷贝到自己定义好的一个路径下,比如/myredis

  7. 修改/myredis目录下redis.conf配置文件做初始化设置

    redis.conf配置文件,改完后确保生效,记得重启,记得重启

    使用vim修改

    vim打开操作:vim 需要打开的文件夹

    vim查找操作:/查找的字符串,查到之后按回车,然后通过n查找下一个,N查找上一个

    vim插入操作:i,修改完毕之后使用esc退出

    vim退出操作::wq!

    1. 默认daemonize no 改为 daemonize yes
    2. 默认protected-mode yes 改为 protected-mode no
    3. 默认bind 127.0.0.1 改为 直接注释掉(默认bind 127.0.0.1只能本机访问)或改成本机IP地址,否则影响远程IP连接
    4. 添加redis密码 改为 requirepass 你自己设置的密码
  8. 启动服务

    使用/myredis中修改完的配置文件启动redis

    redis-server /myredis/redis7.conf

    ps -ef|grep redis|grep -v grep