• C#.Net Core 操作Docker中的redis数据库


    做软件开发的人,会在本机安装很多开发时要用到的软件,比如数据库,有MS SQL Server,MySQL,等,如果每种数据库都按照在本机确实有点乱,这个时候我们就想用虚拟机来隔离,这样就不会扰乱本机一些配置啊环境变量啊等等。但虚机机太耗硬盘了,而且还物理隔离内存,分给它多少内存,本机就少多少内存,对于现在的笔记本电脑,大多都是固态硬盘256G,512G太昂贵了,这个时候Docker 就派上用场了,我把数据库按照Docker容器里,它是进程隔离的,干净又快捷,下面就来介绍一下,在Docker中安装redis内存数据库,并通过C#.Net Core来访问这个数据库。

    我的机子是windows 10 pro版的,安装了docker for windows

    测试本机docker安装情况=》打开命令行工具,输入docker -v 会显示docker安装的版本,说明正常运行了docker。

    查看本机现有容器命令:docker ps

    查看本机现有镜像命令:docker images

    安装redis镜像命令:docker pull redis //默认从国外镜像站点DockerHub下载,如果下载太慢,可以使用国内镜像,可以访问 https://www.docker-cn.com/registry-mirror 查看如何操作,只有一条命令就可以了。

    安装成功的信息:

    再次使用docker images查看已有镜像

    说明安装redis成功!

    接下来要把这个镜像运行起来,就成了一个容器,有人把镜像比喻类,容器是类的实例,这很贴切,记住,镜像是不变的!镜像可以new() 多个容器出来。

    运行镜像的命令是:docker run --name first-redis -p 6379:6379 -d redis

    命令参数解释:--name firest-redis //给新建的容器命名;-p //映射端口,这样外部访问6379就能访问到容器内的6379端口了;-d redis //这个就是要指定镜像名称

    运行结果,并用docker ps查看容器列表

    redis数据库已经成功在docker容器中运行了,接下来我们要在数据库里创建一个键值对。

    首先进入操作数据库的工具redis-cli。

    命令如下:docker exec -it first-redis redis-cli

    上面的命令我们利用reids-cli 设置了一个name 的值为 nick,并用 get name 获取这个值,返回“nick”,一切正常。

    -------------------------------恶心的分割线-----------------------------------------------------------------------

    下面我们来创建C#.Net Core 命令行项目来访问数据库

    我们在D盘创建一个文件夹,用来存放我们的代码,直接用命令行操作就可以了。(Ctrl + C可以推出刚才进入redis-cli命令行)

    去D盘的看看情况:

    接下来,我们使用命令行命令通过VSCode工具打开项目:

    命令如下:code .

    注意:code 后一个空格加一个点,别丢了。这样就能启动vscode工具打开这个项目了。(会问要不要创建.vscode目录,点是)

    接下来要让这个项目和docker中的redis建立关系,就需要安装一个客户端,客户端有很多,可以参考这里https://redis.io/clients#c

    回到项目命令行,输入安装StackExchange.Redis的命令

    命令如下:dotnet add package StackExchange.Redis

     

    -----------------所有的准备工作都ok了,下面就是要写代码来访问了!------------------------------------------------------

    回到命令行运行项目:dotnet run

    一切如你所愿。

    ---------------------------------------------------------

    参考地址:https://www.cnblogs.com/cgzl/p/10294175.html 

  • 相关阅读:
    windows命令行下导入excel数据到SQLite数据库
    Android Studio如何提示函数用法
    在不root手机的情况上读取Data目录上的文件
    OSI七层模型
    设计模式之代理模式
    Android中Javascript中的调用
    cf #205 B Codeforces Round #205 (Div. 2) B. Two Heaps
    uva 10600 次小生成树
    防2B && 图论模板 && 7788
    最大匹配 && 最佳完美匹配 模板
  • 原文地址:https://www.cnblogs.com/wanghaibin/p/10295791.html
Copyright © 2020-2023  润新知