Redis——详解五种数据结构

Redis——详解五种数据结构

在上一篇文章中我们已经大致了解了 Redis 在并发场景下的工作流程,下面我们就来学习一下 Redis 的应用层面的东西

前面我们讲了 Redis 与 memcache 的最本质的区别就是 Redis 键值对数据 key–value 中的 value 有五种数据类型,基于这五种数据类型及 Redis 提供的对五种数据结构操作的 API 方法,我们能够很方便的对指定的属性进行查询,返回给用户请求指定的属性值,而不必返回全量的数据组成的 JSON 对象

如果使用 memcache 返回全部的数据组成的 JSON,还需要在 client 端编写代码解析,才能够获取指定的字段值;而使用 Redis 中的五种数据类型,就能够使服务器返回指定的字段值。

核心思想就是使计算向数据移动。memcache 计算流程在客户端完成,客户端要处理大量的逻辑,server 端只返回大量的数据;而 Redis 的计算发生在 Server 端,根据客户端请求返回指定的数据,客户端相对比较轻盈

在这里插入图片描述

Redis 中 value 值有五种数据类型,每种数据类型都有各自的方法,每种方法是和各自类型绑定的

除了 key-value 键值对中 value 有五种数据结构,在 key 中其实也有优化。key 中有一个 type 属性,会登记注册对应的 value 的类型,如果你非要用一个对 int 类型的方法来操作 string 类型的数据,就会直接报错——类型不匹配。除了 type 属性,key 中还有 encoding 类型,使用 object 命令可以观察 value 的 encoding 是 string 还是 int

Redis 开发者通过在 key 中内置的 type 和 encoding 两个小细节优化,大大减少了后续的数据类型判断,提高了 Redis 的响应能力。众所周知,Redis 最显著的特点就是快,其实 Redis 的快就是通过许多这样小小的细节优化,慢慢的把优势积累出来的。

一、String

Redis 进程里面是分为了 16 个独立的区域,即 16 个库,key 创建在不同的区域,其他的区域是看不到的、是隔离的

在这里插入图片描述

String 类型又分为字符串、数值、bitmap(位图)三种数据类型,面向每一种数据类型,都有各自的操作命令

1、字符串类型

面向字符串常见命令:

  • set:设置指定 key 的 value 值
  • get:得到 key 对应的 value 值
  • append:在原来的 value 值后追加字符串
  • setrange:从给定偏移量下标,覆盖原来的字符串
  • getrange:从指定下标位置取一定偏移量的字符串(正反向索引)
  • strlen:获得指定 key 的 value 字符串长度

2、数值类型

面向 string 类型数据,除了有针对字符串的指令之外,还有一些针对数值的操作:

  • I
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值