Redis中用于操作键的命令分为两种类型

  1. 可以对任何类型的键执行
  2. 只能对特定类型的键执行
类型检查的实现

在执行一个类型特定的命令之前,Redis会先检查输入键对应的值对象的类型是否能够执行命令,然后在决定是否执行命令

类型特定命令所进行的类型检查是通过redisObject结构的type属性来实现的

多态命令的实现

根据输入键对应的值对象的类型来判断键是否能够执行命令后,
然后根据输入键对应的值对象的编码方式,选择正确的命令实现代码来执行命令

操作键的两种命令区别

可以对任何类型的键执行命令是基于类型的多态,一个命令可以同时用于处理多种不同类型的键
只能对特定类型的键执行命令是基于编码的多态,一个命令可以同时用于处理多种不同编码的键

只言片语任我说,提笔句句无需忖。落笔不知寄何人,唯有邀友共斟酌。类型检查与命令多态 - 《Redis设计与实现》读书笔记_多态