Redis入门--- 数据类型

97 阅读3分钟

「这是我参与11月更文挑战的第21天,活动详情查看:2021最后一次更文挑战

业务数据的特殊性:

  1. 原始业务功能设计

秒杀

618活动

双11活动

排队购票

  1. 运营平台监控到的突变高频访问数据

突发时政要闻,被强势关注围观

  1. 高频、复杂的统计数据

在线人数

投票排行榜

Redis 数据类型(5种常用) string hash list set sorted_set/zset (应用性较低)

小节: 业务数据 Redis 数据类型(5种)

Redis 数据存储格式

redis自身是一个Map,其中所有的数据都是采用key:value的形式存储

String类型:

存储的数据:单个数据,最简单的数据存储类型,也是最常用的数据存储类型

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

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

string类型数据的基本操作:

添加/修改数据

set key value

获取数据

get key

删除数据

del key

判断性添加数据

setnx key value

string类型 数据的基本操作

添加/修改 多个数据

mset key1 value1 key2 value2

获取多个数据

mget key1 key2

获取 数据字符个数 (字符串长度)

strlen key

追加信息到原始信息后部

append key value

string 类型数据的扩展操作

设置数值数据增加指定范围的值

设置数值数据减少指定范围的值

设置数据具有指定的生命周期

String 类型数据的扩展操作

设置数值数据增加 指定范围的值

incr key

incrby key increment

incrbyfloat key increment

设置数值数据减少指定范围的值

decr key

decrby key increment

设置数据具有指定的生命周期

setex key seconds value

psetex key milliseconds value

string 类型数据操作的注意事项

image.png

数据存储的困惑

对象类数据的存储如果具有较频繁的更新需求操作会显得笨重。

hash 类型:

新的存储需求:对一些列存储的数据进行编组,方便管理,典型应用存储对象信息

需要的存储结构: 一个存储空间 保存多个键值对数据。

hash类型: 底层使用哈希表结构实现数据存储。

hash 类型数据的基本操作。

添加/修改数据

hset key field value

获取数据

hget key field

hgetall key

删除数据

hdel key field1 [field2]

设置field的值,如果该field存在则不做任何操作。

hsetnx key field value

hash 类型数据扩展操作

image.png

hash 类型数据操作的注意事项

  1. hash 类型中value只能存储字符串,不允许存储其他数据类型,不存在嵌套现象,如果数据未获取到,对应的值为nil

  2. hgetall 操作可以获取全部属性,如果内部field过多,遍历整体数据效率就会低,有可能成为数据访问的瓶颈。