【问题标题】:How do I change between redis database?redis数据库之间如何切换?
【发布时间】:2022-04-26 10:08:14
【问题描述】:

我是 redis 新手,我不知道如何创建和更改到另一个 redis 数据库。

我该怎么做?

【问题讨论】:

  • 参见SELECT 命令。
  • 谢谢塞尔吉奥,我该如何创建一个新的?
  • 已经存在(默认16个数据库,IIRC)
  • 好的。现在我懂了。我只是使用类似的东西:SELECT [0-15],我无法创建自定义索引
  • 基本上,是的。我会问,你想用redis数据库做什么?在我看来,它们很容易被命名空间或客户端分片替换。

标签: redis


【解决方案1】:

默认情况下有 16 个数据库(索引从 0 到 15),您可以使用 select 命令在它们之间导航。数据库数量可以在 redis 配置文件中通过databases 设置进行更改。

默认情况下,它选择数据库0。要选择一个指定的,使用 redis-cli -n 2(选择 db 2)

【讨论】:

    【解决方案2】:

    注意:这不是对 OP 问题的直接回答。但是,此文本太长,无法发表评论,我想无论如何我都会分享它,以向 OP 澄清事情。希望我这样做不会破坏太多的 SO 规则...

    关于多个数据库的一些额外信息:

    请注意,不鼓励在一个 redis 实例中使用多个数据库。

    这是一个很好的功能,可以玩弄和了解 redis。

    在更严格的设置中,如果您有多个端口可供使用,则最好使用单独的实例并且性能更高。在我们公司,我们在开发/登台服务器上运行大约 50 个实例,在生产服务器上运行大约 5 个。

    原因是,无论如何,redis 事务仅在一个 db 编号内是原子的。大多数(如果不是全部)客户端在 connect() 阶段很好地为您分开。如果您必须单独连接,连接到不同的端口同样容易。

    redis 的核心也是单线程的。这就是使 redis 如此快速和简单的原因之一。一切都是顺序的。如果您使用多个实例而不是一个实例,您将获得多处理(在多核机器上)的好处。

    【讨论】:

    • 但是如果我在运行许多网站的服务器上安装了 redis,并且我想使用 redis 进行缓存,我需要为一个站点使用不同的数据库吗?或者我需要一个单实例单数据库,用于一个站点?或者我可以简单地为我的所有网站使用 DB 0?谢谢!
    【解决方案3】:
    redis-cli //connect server firstly 
    redis-cli info //show all existing database - at the bottom 
    //exit
    redis-cli -n 1 //1 is the name of database
    

    【讨论】:

      猜你喜欢
      • 2016-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多