目录
前言
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 都是使用单线程模型,所以彼此之间还是需要排队等待命令的执行。同时多数据库还会让开发、调试和运维工作变得复