20210724# 黑马redis-02_redis 数据类型

02_redis 数据类型

数据存储类型介绍

业务数据的特殊性

(1) 作为缓存使用
image

(2)附加功能

系统功能优化或升级

  • 单服务器升级集群
  • Session 管理
  • Token 管理

Redis 数据类型(5种常用)

redis java
string String
hash HashMap
list LinkedList
set HashSet
sorted_set TreeSet

string

redis 数据存储格式

  • redis 自身是一个 Map,其中所有的数据都是采用** key : value** 的形式存储
  • 数据类型指的是存储的数据的类型,也就是 value 部分的类型,key 部分永远都是字符串

image

string 类型

  • 存储的数据:单个数据,最简单的数据存储类型,也是最常用的数据存储类型
  • 存储数据的格式:一个存储空间保存一个数据
  • 存储内容:通常使用字符串,如果字符串以整数的形式展示,可以作为数字操作使用

image

string 类型数据的基本操作

添加/修改数据
set key value

获取数据
get key

删除数据
del key

添加/修改多个数据
mset key1 value1 key2 value2 …

获取多个数据
mget key1 key2 …

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

追加信息到原始信息后部(如果原始信息存在就追加,否则新建)
append key value

说明:mset 和 mget 其中m 为 Multiple[ˈmʌltɪpl]

string 类型数据的基础操作

image

string 类型数据的扩展操作

业务场景

image

解决方案

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

incr key 
incrby key increment 
incrbyfloat key increment

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

decr key 
decrby key increment

string 作为数值操作

  • string在redis内部存储默认就是一个字符串,当遇到增减类操作incr,decr时会转成数值型进行计算。
  • redis所有的操作都是原子性的,采用单线程处理所有业务,命令是一个一个执行的,因此无需考虑并发带来的数据影响。
  • 注意:按数值进行操作的数据,如果原始数据不能转成数值,或超越了redis 数值上限范围,将报错。
    9223372036854775807(java中long型数据最大值,Long.MAX_VALUE)

Tips 1:

  • redis用于控制数据库表主键id,为数据库表主键提供生成策略,保障数据库表的主键唯一性
  • 此方案适用于所有数据库,且支持数据库集群

业务场景

image

解决方案

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

setex key seconds value 
psetex key milliseconds value

Tips 2:

  • redis 控制数据的生命周期,通过数据是否失效控制业务行为,适用于所有具有时效性限定控制的操作

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

  • 数据操作不成功的反馈与数据正常操作之间的差异
    1. 表示运行结果是否成功
      • (integer) 0 → false 失败
      • (integer) 1 → true 成功
    2. 表示运行结果值
      • (integer) 3 → 3 : 3个
      • (integer) 1 → 1 : 1个
  • 数据未获取到
    (nil)等同于null
  • 数据最大存储量
    512MB
  • 数值计算最大范围(java中的long的最大值)
    9223372036854775807

string 类型应用场景

业务场景

主页高频访问信息显示控制,例如新浪微博大V主页显示粉丝数与微博数量

image

解决方案

image

key 的设置约定

数据库中的热点数据key命名惯例

image

hash

hash 类型

image

hash 类型数据的基本操作

image

image

hash 类型数据扩展操作

image

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

image

hash 类型应用场景

业务场景1

image

image

image

业务场景2

image

image

业务场景3

image

list

list 类型

image

image

list 类型数据基本操作

image

list 类型数据扩展操作

image

业务场景

image

image

list 类型数据操作注意事项

image

list 类型应用场景

业务场景

image

image

image

set

set 类型

image

image

set 类型数据的基本操作

image

image

set 类型数据的扩展操作

image

image

image

image

image

image

image

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

image

set 类型应用场景

业务场景1

image

image

业务场景2

image

image

业务场景3

image

image

sorted_set

sorted_set 类型

image

sorted_set 类型数据的基本操作

image

image

image

sorted_set 类型数据的扩展操作

image

image

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

image

sorted_set 类型应用场景

业务场景1

image

image

业务场景

image

image

数据类型实践案例

业务场景1

image

image

image

业务场景2

image

image

image

解决方案列表

image

posted @ 2021-07-24 15:34  傀儡岁月  阅读(38)  评论(0编辑  收藏  举报