类型检查与命令多态 - 《Redis设计与实现》读书笔记
Redis中用于操作键的命令分为两种类型
- 可以对任何类型的键执行
- 只能对特定类型的键执行
类型检查的实现
在执行一个类型特定的命令之前,Redis会先检查输入键对应的值对象的类型是否能够执行命令,然后在决定是否执行命令
类型特定命令所进行的类型检查是通过redisObject结构的type属性
来实现的
多态命令的实现
根据输入键对应的值对象的类型来判断键是否能够执行命令后,
然后根据输入键对应的值对象的编码方式,选择正确的命令实现代码来执行命令
操作键的两种命令区别
可以对任何类型的键执行
命令是基于类型的多态,一个命令可以同时用于处理多种不同类型的键
只能对特定类型的键执行
命令是基于编码的多态,一个命令可以同时用于处理多种不同编码的键
只言片语任我说,提笔句句无需忖。落笔不知寄何人,唯有邀友共斟酌。