Redis -- 数据库管理

目录

前言

切换数据库(select)

数据库中key的数量(dbsize) 

清除数据库(flushall  flushdb)


Redis -- 数据库管理_第1张图片

前言

        MySQL有一个很重要的概念,那就是数据库database,一个MySQL里面有很多个database,一个database中有很多张表。在之前的redis中,好像只涉及到键值对的存储,没有涉及到类似的database的语法。

        但是其实Redis也是有database这样的说法的,只不过不像MySQL那么随意,不能像MySQL那样随心所欲的创建和删除数据库。Redis的database是现成的,用户不能创建新的数据库,也不能删除已经存在的数据库。

        Redis提供了16个默认的数据库(0~15),这16个数据库中的数据是隔离的,不会相互影响。

        Redis 提供了几个面向 Redis 数据库的操作,分别是 dbsize、select、flushdb、flushall 命令。

        Redis 中虽然支持多数据库,但随着版本的升级,其实不是特别建议使用多数据库特性。如
果真的需要完全隔离的两套键值对,更好的做法是维护多个 Redis 实例,而不是在一个Redis 实例中维护多数据库。这是因为本身 Redis 并没有为多数据库提供太多的特性,其次无论是否有多个数据库,Redis 都是使用单线程模型,所以彼此之间还是需要排队等待命令的执行。同时多数据库还会让开发、调试和运维工作变得复杂。所以实践中,始终使用数据库 0 其实是一个很好的选择。

Redis -- 数据库管理_第2张图片

切换数据库(select)

语法:select  dbIndex

示例

        在0号数据库中,存在着k1 ~ k10的key:

Redis -- 数据库管理_第3张图片

        切换数据库查看是否还存在这些数据:

 

        keys *:

        可以看见命令行后面有一个[1],这个表示为1号数据库,我们尝试切换16号数据库:

        说明没有16号数据库,数据库的编号为0~15。

数据库中key的数量(dbsize) 

        dbsize是Redis数据库中的一个命令,用于获取当前数据库的key的数量。它返回一个整数,表示数据库中key的数量。 

        在Redis中,key是用来存储数据的,可以是字符串、哈希、列表、集合、有序集合等不同的数据结构。dbsize命令可以帮助我们了解当前数据库中存储了多少个key,从而对数据库的使用情况有一个直观的了解。

        需要注意的是,dbsize命令的时间复杂度为O(1),即不论数据库中有多少个key,执行该命令所需的时间都是固定的。

语法:dbsize

示例

Redis -- 数据库管理_第4张图片

清除数据库(flushall  flushdb)

        flushdb / flushall 命令用于清除数据库,区别在于 flushdb 只清除当前数据库,flushall 会清除所有数据库。

        这个就不再多讲解。

你可能感兴趣的:(Redis,数据库,redis,缓存)