Redis底层数据结构
在上一篇中我们已经介绍过了Redis有5种数据类型,但每一种数据类型底层的实现都是不同的,在学习Redis时,我们除了要掌握这5种数据类型外,还要了解它们具体的底层实现,这有助于我们更好的掌握Redis的,在遇到问题时,可以方便快速的解决问题,在这篇,我们主要了解全局命令、数据结构及内部编码等方面的知识。 全局命令 Redis有5种数据结构,虽然它们底层不同,但还是有一些通用的命令是相同的。 查看所有键(返回所有的键,并它具体的键输出出来) keys * 查看键总数(返回当前数据库中的键的个数) dbsize 备注:dbsize命令在计算键总数时不会遍历所有的键,而是直接获Redis内置的键总数变量,所以dbsize命令的时间复杂度是O(1)。而keys命令则会遍历所有键,所以它的时间复杂度是O(n),所以如果Redis中保存了大量的键时,keys命令要慎用。 检查键是否存在 exists key 我们看exists命令是有返回值的当键存在时则返回值为1,当然键不存时返回值则为0。 删除键 del key 我们知道在Redis中有5种数据结构,但del命令可以直接删除任意类型的数据结构,而不用担心它底层的实现。 我们看del命令和exists命令一样,都是有返回值的。只不过不同的是del命令返回的时成功删除键的个数。如果返回的是0,说明该键没有被成功删除,也就说明该键不存在