Redis学习笔记(一)
创始人
2024-03-03 10:07:58
0
  • NoSQL
    • 泛指非关系型数据库,作为关系型数据库的补充
    • 作用:应对海量用户和海量数据前提下的数据处理问题
    • 特征
      • 可扩容、可伸缩
      • 大数据量下高性能
      • 灵活的数据模型
      • 高可用
    • 常见的NoSQL数据库
      • Redis
      • memcache
      • HBase
      • MongoDB
  • 在这里插入图片描述
  • Redis
    • 一种高性能键值对数据库
    • 特征
      • 数据间没有必然的关联关系
      • 内部采用单线程机制进行工作
      • 高性能
      • 多数据类型支持
      • 持久化支持,可以进行数据灾难恢复
    • 应用
      • 为热点数据加速查询
      • 任务队列
      • 即时信息查询
      • 时效性信息控制
      • 分布式数据共享
      • 消息队列
      • 分布式锁
    • 基本操作
      • 信息添加:set key value
      • 信息查询(不存在为null):get key
      • 清楚屏幕信息:clear
      • 帮助
        • help 命令名称
        • help @组名
      • 退出
        • quit
        • exit
        • [esc键]
    • 数据类型
      • redis自身是一个map,其中所有的数据都是采用key:value形式存储
      • 数据类型指的是存储数据的类型
      • string
        • 存储的是单个数据

        • 存储数据的格式:一个存储空间保存一个数据

        • 存储内容:通常使用字符串,如果字符串以整数形式展示,可以作为数字操作使用

        • 基本操作

          • 添加/修改数据:set key value
          • 获取数据:get key
          • 删除数据 del key
          • 添加修改多个数据:mset key1 value1 key2 value2 …
          • 获取多个数据:mget key1 key2 …
          • 获取数据字符个数:strlen key
          • 追加信息到原始信息后部:append key value
          • 设置数值数据增加指定范围的值
            • incr key
            • incrby key increment
            • incrbyfloat key increment
          • 设置数值数据减少指定范围的值
            • decr key
            • decrby key increment
          • 设置数据具有指定的生命周期
            • setax key seconds value
            • psetax key milliseconds value
          • 在这里插入图片描述
        • 应用场景

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

    • hash
      • 新的存储需求:对一系列存储的数据进行编组
      • 需要的存储结构:一个存储空间保存多个键值对数据
      • hash类型:底层使用哈希表实现数据存储
      • hash存储结构优化
        • 如果field数量较少,存储结构优化成类数组结构
        • 如果field数量较多,存储结构使用HashMap结构
      • 基本操作
        • 添加/修改数据
          • hset key field value
        • 获取数据
          • hget key field
          • hgetall key
        • 删除数据
          • hdel key field1 (field2)
        • 添加/修改多个数据
          • hmset key field1 value1 field2 value2 …
        • 获取多个数据
          • hmget key field1 field2 …
        • 获取哈希表中字段的数量
          • hlen key
        • 获取哈希表中是否存在指定的字段
          • hexists key field
        • 获取哈希表中所有字段名
          • hkeys key
        • 获取哈希表中所有字段值
          • hvals key
        • 设置指定字段数据数值增加指定范围的值
          • hincrby key field increment
          • hincrbyfloat key field increment
        • 为不存在的字段赋值:
          • hsetnx key field value
      • 注意
        • hash类型下value只能存储字符串
        • 如果数据未获取到,值为nil
        • 每个hash可以存储2^32-1个键值对
        • hash类型十分贴近对象的数据存储形式,并且可以灵活删除对象属性,但hash设计初衷不是为了存储大量对象而设计的,不可滥用,更不可以将hash作为对象列表使用
        • hgetall可以获取全部属性,如果内部field过多,整体遍历数据效率就会很低
      • 应用场景
        • 购物车
        • 抢购
    • list
      • 存储多个数据,通过数据体现进入顺序
      • 底层使用双向链表存储结构
      • 基本操作
        • 添加/修改数据
          • lpush key value1 [value2] …
          • rpush key value1 [value2]…
        • 获取数据
          • lrange key start stop
          • lindex key index
          • llen key
        • 获取并移除数据
          • lpop key
          • rpop key
        • 规定时间内获取并移除数据
          • blpop key1 [key2] timeout
          • brpop key1 [key2] timeout
        • 移除指定数据
          • lrem key count value
      • 注意
        • list保存的数据都是string类型的
        • 具有索引概念,但通常以队列或栈的形式操作的
        • 获取全部数据操作结束,索引设置为-1
        • 可以对数据进行分页操作
      • 应用场景
        • 具有顺序的特征对信息进行管理
        • 使用队列模型解决多路信息汇总合并的问题
        • 使用栈模型解决最新消息的问题

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...