【问题标题】:Redis - Create a preseeded database on docker startupRedis - 在 docker 启动时创建预置数据库
【发布时间】:2022-01-25 16:08:58
【问题描述】:

在我的应用程序中启动 docker 容器时,我需要在 postgresql 和 redis 中创建一个预置数据库。对于我在 docker-compose.yml 中定义的 postgres:

   volumes:
   - ./article.sql:/docker-entrypoint-initdb.d/init.sql

所以它从我的 article.sql 中获取数据并创建数据库。 Article.sql 看起来像:

CREATE TABLE public.bid (
bidId int PRIMARY KEY,
ttl  int,
price int,
setAt timestamp,
userId int
);

CREATE TABLE public.user (
userId int PRIMARY KEY,
username  varchar(64),
password  varchar(64),
role varchar(64)
);

INSERT INTO public.user 
(userId, username, password, role)
VALUES
(1, 'admin', 'admin', 'admin'),
(2, 'user', 'user', 'user');

我怎样才能对 redis 做同样的事情?redis 中的 article.sql 的等价物是什么?该文件的外观如何?

【问题讨论】:

    标签: docker docker-compose redis nosql


    【解决方案1】:

    您可以将包含 redis 命令的平面文件中的数据通过管道传输到 redis-cli。

    cat data.txt | redis-cli --pipe
    

    data.txt 类似于:

    SET Key0 Value0
    SET Key1 Value1
    ...
    SET KeyN ValueN
    

    查看详情:https://redis.io/topics/mass-insert

    另一种选择是使用dump.rdb file from the pre-populated redis instance

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-04
      • 2022-01-20
      • 2020-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多