• Redis详解


    下载安装
    五大数据类型
    事务
    慢查询日志

    • 下载安装

      • 点击下载Redis 6.2.4 稳定版
      • 因为Redis使用C语言编写的,所以需要先安装C语言的编译环境并查看是否安装成功,命令
        yum install -y gcc
        gcc --version
        
        • 1
        • 2
        上传redis到opt文件夹内,并解压
        cd /opt/
        # 上传redis
        rz
        
        • 1
        • 2
        • 3
      • 解压压缩包
        tar -zxvf redis-6.2.4.tar.gz
        
        • 1
      • 进入redis文件夹内编译并安装
        # 编译
        make
        # 安装
        make install
        
        • 1
        • 2
        • 3
        • 4
      • 切到redis目录
        cd /opt/redis-6.2.4
        
        • 1
      • 开启后台启动
        • redis.conf复制到 /etc 下并编辑,将支持后台启动改为 daemonize yes

          cp redis.conf /etc/
          vim /etc/redis.conf/
          
          • 1
          • 2
        • 切换到lib目录,启动redis

          cd /usr/local/lib
          redis-server /etc/redis.conf
          
          • 1
          • 2
        • 进入redis并测试是否连接成功

          # 进入redis 后台
          redis-cli
          # 测试是否连接成功
          ping pong
          
          • 1
          • 2
          • 3
          • 4
        • 退出redis方法

          1.直接在后台输入 exit 只是退出cli,redis依然在后台运行
          2.后台输入 shutdown 再输入 exit 为关闭redis并退出
          3.redis-cli shuadown
          4.通过查看进程号后,kill -9 退出
          
          • 1
          • 2
          • 3
          • 4

    • 五大数据类型

      • String
        常见操作命令
        在这里插入图片描述

      • List
        可存储有序、可重复的元素
        list的元素最多有 2^32-1(42亿)
        常见操作命令
        在这里插入图片描述

      • Set
        存储无序、唯一的元素
        集合中最大的成员数为 2^32 -1 个
        常见操作命令
        在这里插入图片描述

      • Zset
        有序不能重复
        常见操作命令
        在这里插入图片描述

      • Hash(散列类型)
        hash 是一个 string 类型的 key 和 value 的映射表,其中value 可以存储 key:value 也就是 -> key : (key:value)
        每个 hash 可以存储 2^32 - 1 键值对(42亿)
        在这里插入图片描述


    • 事务


      所谓事务(Transaction) , 是指作为单个逻辑工作单位执行的一系列操作
      • redis事务和ACID对比

      • Atomicity (原子性) : 构成事务的所有操作必须是一个逻辑单元,要么全部执行,要么全部不执行.
        Redis : 一个队伍中的命令,执行或不执行或部分执行(具体看图)
        在这里插入图片描述

      • Consistency(一致性) : 数据库在事务执行前后状态都必须是稳定的或一致的.
        Redis : 集群中不能保证时时的一致性,只能保证最终的一致性.

      • Isolation(隔离性) : 事务之间不会相互影响.
        Redis : 命令是顺序执行的,在一个事务中,执行期间会被其他客户端的命令所干扰

      • Durability(持久性) : 事务执行成功后将会写入磁盘并保证数据的完整性.
        Redis支持持久化,但不保证数据的完整性

    • 事务命令

      • multi: 开启事务,用于标记事务块的开始,Redis会将后续的命令逐个放入队列中, 然后使用exec原子化地执行这个命令队列.
      • exec: 执行命令队列
      • discard: 清除队列中的命令
      • watch: 监视key,如果这个期间发生了变化, 即使exec,也不会成功执行
        当两个客户端操作一个key时,client 1 watch name:1 时,再开启事务,期间事务中执行了 set name:1 zhangsan ,set name:2 wangwu; 此时client 2执行命令 set name:1 lisi ;client 1 执行命令队列 exec , 会执行失败,因为 client 2 率先使用了 name:1 这个key,并且 client 1 中的 name:2 wangwu 会丢失.
      • unwatch: 清除监视key
        在这里插入图片描述

    • 慢查询日志
      redis.conf中配置
      # 执行时间超过多少微秒的命令请求会被记录到日志上 0 :全记录 <0 不记录
      # 默认10000毫秒(10s)
      slowlog-log-slower-than 10000
      # 存储慢查询日志条数 slowlog-max-len 
      # 默认存储 128 条,使用队列存储,先进先出(FIFO)
      slowlog-max-len 128
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      可以在redis后台进行临时设置,redis重启后失效,命令
      # 查看当前慢查询时间设置
      config get slowlog-log-slower-than
      # 查看队列存储条数
      config get slowlog-max-len
      # 设置慢查询时间
      config set slowlog-log-slower-than 毫秒
      # 设置队列存储条数
      config set slowlog-max-len 条数
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      在这里插入图片描述

    其他章节 -> 跳转

    end...
    
    • 1
  • 相关阅读:
    10.4号作业
    Python实战项目:打地鼠(源码分享)(文章较短,直接上代码)
    html+css网页设计 旅游网站首页1个页面
    用frp搞个内网穿透
    直接插入排序
    k8s核心操作_使用k8s在一个pod中部署两个以上的容器_以及部署两个nginx尝试---分布式云原生部署架构搭建020
    redis: 记录一次线上redis内存占用过大问题解决过程
    【Designing ML Systems】第 4 章 :训练数据
    以Vivado工具为例了解FPGA实现
    改进YOLOv5系列:27.YOLOv5 结合 Swin Transformer V2结构,Swin Transformer V2:通向视觉大模型之路
  • 原文地址:https://blog.csdn.net/weixin_45881674/article/details/126466268