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
C#.Net Core 操作Docker中的redis数据库的更多相关文章
- nopCommerce 3.9 大波浪系列 之 使用部署在Docker中的Redis缓存主从服务
一.概述 nop支持Redis作为缓存,Redis出众的性能在企业中得到了广泛的应用.Redis支持主从复制,HA,集群. 一般来说,只有一台Redis是不可行的,原因如下: 单台Redis服务器会发 ...
- 开发机直连 Docker 中的 Redis 容器小教程
在笔者日常开发中,都是把redis装在windows系统中.虽然可以通过RedisDesktopManager等客户端工具连接操作redis,但是还是觉得low了一些.因为作为程序员,我可能更想在Li ...
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...
- 从零开始学习docker之在docker中搭建redis(集群)
docker搭建redis集群 docker-compose是以多容器的方式启动,非常适合用来启动集群 一.环境准备 云环境:CentOS 7.6 64位 二.安装docker-compose #需要 ...
- docker中使用mysql数据库详解(在局域网访问)
开发过程中经常需要安装.调试mysql数据库,还需要在各种操作系上安装包依赖,实在是繁琐,因此就研究了一下如何在docker上运行一个mysql镜像,省却了我安装.找依赖的问题. 注:本文所有内容均在 ...
- 在docker中使用mysql数据库,在局域网访问
1.获取mysql镜像 docker pull mysql:5.6 注意:此处之所以获取mysql5.6是因为mysql5.7在centos7中启动可能会报错 2.查看镜像列表 docker imag ...
- 在docker中部署redis主从配置
环境说明: 阿里云服务器 Ubuntu 16.04 docker 1.拉取Redis镜像 docker pull redis 2.配置Redis启动配置文件,此处我创建一个专用目录,存放Redis相关 ...
- docker 中安装 redis
使用以下命令在Docker Hub搜索Redis镜像docker search redis 使用以下命令拉取镜像,Redis的镜像docker pull redis:latest 使用以下命令查看,本 ...
- docker 中运行 redis 服务
先使用 dockerfile 创建一个 redis 容器 FROM ubuntu:latest RUN apt-get update RUN apt-get -y install redis-serv ...
随机推荐
- 88、const、static、extern介绍
一.const与宏的区别 const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编译(编译之前处理)const是编译阶段. 编译检 ...
- 阿里云远程连接CentOS
1.购买一个CentOS的ECS服务器: 2.修改安全组,开放SSH/22的端口号: 这里是22/22为SSH连接的端口号:3389为远程桌面的默认端口号 3.利用xshell或者SecureCRT连 ...
- MySQL PROFILE 跟踪语句各阶段性能开销
PROFILE 可以跟踪查询语句各个阶段 Time,IO,CPU,MEMORY 等资源使用情况,比较详细.所以系统一般不会记录太多.启用是全局的,所以每个连接都保持语句的资源使用情况. 查看 PRO ...
- 2019.03.28 bzoj3322: [Scoi2013]摩托车交易(kruskal重构树+贪心)
传送门 题意咕咕咕 思路: 先把所有可以列车通的缩成一个点,然后用新图建立kruskalkruskalkruskal重构树. 这样就可以倒着贪心模拟了. 代码: #include<bits/st ...
- hadoop HDFS常用文件操作命令
命令基本格式: hadoop fs -cmd < args > 1. ls 列出hdfs文件系统根目录下的目录和文件 hadoop fs -ls /dir hadoop fs -ls -R ...
- 京东Alpha平台开发笔记系列(二)
第一篇博文简单讲了一下京东Alpha平台与个人idea技能,本篇将讲解Alpha平台与个人开发需要的一些知识,下面开篇 ——>>> 上图就是京东Alpha技能平台的首页,Skill平 ...
- Oracle简单查询实例
--查询不重复的职位 select distinct job from emp; --查询年薪,起别名,别名不要用单引号括起来 as nianxin from emp sal; --以这样的形式显示具 ...
- Android基础知识学习
IPC (Inter-Process Communication) 意思是: 进程间的通信,是指两个进程之间进行数据交换的过程. Android中如何开启多进程呢? 只需要给四大组件(Activit ...
- 利用正则+requests爬取猫眼电影信息
import json # from multiprocessing import Pool import requests from requests.exceptions import Reque ...
- Python基础理论 - 常用模块
time模块:时间戳.时间字符串.时间对象以及如何转换 random模块:随机小数.整数.区间,随机列表元素,打散列表 os模块:与操作系统交互的一个接口,os.path操作文件的路径 sys模块:s ...