返回顶部
首页 > 资讯 > 数据库 >基于.net ,使用几种常见的NoSQL数据库
  • 945
分享到

基于.net ,使用几种常见的NoSQL数据库

基于.net使用几种常见的NoSQL数据库 2017-10-10 05:10:37 945人浏览 绘本
摘要

目录 0 .net中的缓存对象 1.MemCached 2.Redis 3.mongoDB 示例

基于.net ,使用几种常见的NoSQL数据库

目录

  • 示例完整源码地址
    2020年1月10日 10:10:10
    shanzm

0 .net中的缓存对象

示例:(详见:001MemoryCache)

//MemoryCache是存入到程序进程的内存中的,程序重启之后就没了
//添加引用:System.Runtime.Caching
//新建一个缓存对象,使用默认的缓存对象
MemoryCache memCache = MemoryCache.Default;
//缓存以键值对的形式存储,缓存的生命期是10s
memCache.Add("name", "shanzm", DateTimeOffset.Now.AddSeconds(10));

1.MemCached

  • 安装包下载:推荐一个编译好的安装包

  • NuGet:PM> Install-Package EnyimMemcached

  • MemCached中的Cas操作:(详见:003Cas操作)

示例:(详见:002MemCachedDemo)

//创建配置对象
MemcachedClientConfiguration memConfig = new MemcachedClientConfiguration();
memConfig.AddServer("127.0.0.1:11211");

//创建MemcachedClient对象
using (MemcachedClient memClient = new MemcachedClient(memConfig))
{
    //写入MemCached中
    memClient.Store(Enyim.Caching.Memcached.StoreMode.Set, "Name", "shanzm");
    memClient.Store(Enyim.Caching.Memcached.StoreMode.Set, "Age", "100");

    //读取数据
    string name = memClient.Get("Name");
    if (name == null)
    {
        Console.WriteLine("无缓存");
    }
    else
    {
        Console.WriteLine(name);
    }

    //删除数据
    Console.WriteLine(memClient.Get("Age"));
    memClient.Remove("Age");
    if (null == memClient.Get("Age"))
    {
        Console.WriteLine("已经将Key为Age的数据从MemCached服务器中清除");

    }
    Console.ReadKey();
}

2.Redis

  • 安装Redis(官方为windows版,微软自己维护一个开源版本)

  • 常用的命令:参考

  • 安装Redis GUI客户端:RedisDesktopManager (推荐一个cracked 2019.5版本)

  • NuGet:PM>Install-Package StackExchange.Redist(注意其所支持的dotnet版本)
    官方地址

  • Redis中的六种数据类型的具体操作及使用案例

    005使用Redis计算新闻点击量
    006Redis中的list使用
    007模拟注册发送邮件验证
    008Redis中的set使用
    009Redis中的sorted set使用
    010Redis中使用sorted set实现热搜
    011Redis中使用hash使用
    012Redis中的geo使用(注意只支持最新版本的Redis)
    015Redis实现随机分红包

示例:(详见:004RedisDemo)

//注意此处我们使用异步方法
using (ConnectionMultiplexer conn = await ConnectionMultiplexer.ConnectAsync("127.0.0.1:6379"))
{
    //默认是0号数据库,若是其他数据库,如3号数据库,conn.GetDatabase(3)
    IDatabase db = conn.GetDatabase();

    //写入数据
    await db.StringSetAsync("Name", "张三", TimeSpan.FromSeconds(10));

    //批量写入(使用Redis中Batch对象 见013Redis的批量操作)
    KeyValuePair[] kvs = new KeyValuePair[3];

    kvs[0] = new KeyValuePair("A", "a");
    kvs[1] = new KeyValuePair("B", "b");
    kvs[2] = new KeyValuePair("C", "c");
    await db.StringSetAsync(kvs);

    //读取数据(查询不到数据返回为null)
    string name = await db.StringGetAsync("Name");
    string A = await db.StringGetAsync("A");

    //删除数据
    db.KeyDelete("A");

    //判断是否存在某条数据
    if (!db.KeyExists("A"))
    {
        MessageBox.Show("已删除Key值为‘A’的数据");
    }

    //对已经存储的数据设置过期时间
    db.KeyExpire("B", TimeSpan.FromSeconds(10));
}

3.MonGoDB

  • 安装MongoDB(官方地址)

  • 安装MongoDB GUI客户端:Robo3T

  • NuGet:PM>Install-Package MongoDB.Driver -Version 2.5.0
    (注意默认安装最新版本可能会报错
    亲测2.5.0版本和 .net Framework版本是4.6.1完美支持)

  • MongoDB中的完整的增删改查,见:017MongoDB中的CURD

示例:(详见:016MongoDBDemo)

//连接MongoDB服务,创建对象
MongoClient client = new MongoClient("mongodb://127.0.0.1:27017");
//获取名为:TestDb1的数据库,若是没有则创建!
IMongoDatabase db = client.GetDatabase("TestDb1");
//获取名为名为Personsde表(collection可以理解为表)若是没有则创建!
IMongoCollection persons = db.GetCollection("Persons");


Person p1 = new Person() { Id = 0001, Name = "shanzm", Age = 25 };
Person p2 = new Person() { Id = 002, Name = "shanzm" };//MongoDB会对Age默认填充为0

persons.InsertOne(p1);
persons.InsertOne(p2);
您可能感兴趣的文档:

--结束END--

本文标题: 基于.net ,使用几种常见的NoSQL数据库

本文链接: https://lsjlt.com/news/3687.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 基于.net ,使用几种常见的NoSQL数据库
    目录 0 .net中的缓存对象 1.MemCached 2.Redis 3.MongoDB 示例...
    99+
    2017-10-10
    基于.net 使用几种常见的NoSQL数据库
  • 常见的nosql数据库有哪些
    这篇文章将为大家详细讲解有关常见的nosql数据库有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。现在,NoSQL 数据库变得越来越流行,我在这里总结出了一些非常棒的...
    99+
    2024-04-02
  • MySQL数据库的几种常见高可用方案介绍
    本篇内容主要讲解“MySQL数据库的几种常见高可用方案介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL数据库的几种常见高可用方案介绍”吧!一、概述 ...
    99+
    2024-04-02
  • NoSQL数据库一MongoDB基本使用
    如今的网站对数据存储要求越来越灵活,在这种需求下 NoSQL 也就是非关系数据库越来越流行。所谓非关系数据库,是指不使用 SQL 语言进行数据操作的数据库的统称。这类数据库存储数据时没有固定的模式,不支持数...
    99+
    2024-04-02
  • Java中几种常用数据库连接池的使用
    目录一、应用程序直接获取数据库连接的缺点二、使用数据库连接池优化程序性能2.1、数据库连接池的基本概念2.2、编写数据库连接池三、开源数据库连接池3.1、DBCP数据源3.2、在应用...
    99+
    2024-04-02
  • Python常见的几种数据加密方式
    目录一、md5加密解密增加破解成本的方法SHA1安全哈希算法二、Base64伪加密三、DES/AESAES和DES的区别破解方法四、RSA非对称加密算法使用流程和场景介绍公钥私钥生成...
    99+
    2024-04-02
  • 基于Redis缓存数据常见的三种问题及解决
    目录1.缓存穿透1.1 问题描述1.2 解决方法2.缓存击穿2.1 问题描述2.2 解决方法3.缓存雪崩3.1 问题描述3.2 解决方法1.缓存穿透 1.1 问题描述 缓存穿透是在客户端/浏览器端请求一个不存在的key,...
    99+
    2022-06-16
    Redis缓存 缓存数据 Redis缓存数据
  • 基于Docker的几种常用CentOS7镜像小结
    目录1 安装 Docker2 配置国内镜像源3 制作中文环境基础版Centos7镜像3.1 Dockerfile3.2 启动容器3.3 在容器中安装配置一些基础服务3.4 SSH3....
    99+
    2024-04-02
  • 聊聊Golang中的几种常用基本数据类型
    本篇文章带大家了解一下golang 的几种常用的基本数据类型,如整型,浮点型,字符,字符串,布尔型等,并介绍了一些常用的类型转换操作。Golang 是一种强类型语言,变量使用时需要进行强制类型定义,一旦某一个变量被定义,如果不经强制转换,那...
    99+
    2022-06-30
    Go Golang
  • 细数基于ORACLE 数据库环境的常见数据灾难解决方式
    一、故障描述:基于ORACLE 数据库环境的常见数据灾难故障表现:1、ORACLE数据库无法启动或无法正常工作。2、ORACLE ASM存储破坏。3、ORACLE数据文件丢失。4、ORACLE数据文件部分损...
    99+
    2024-04-02
  • 简单谈谈Python中的几种常见的数据类型
    计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型...
    99+
    2022-06-04
    几种 数据类型 常见
  • Redis常见的几种使用方式及优缺点
    这篇文章主要介绍“Redis常见的几种使用方式及优缺点”,在日常操作中,相信很多人在Redis常见的几种使用方式及优缺点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redi...
    99+
    2024-04-02
  • 数据库常用的几种入侵的方式有哪些
    今天就跟大家聊聊有关数据库常用的几种入侵的方式有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。随着互联网的高速发展,越来越多的企业搭乘着互联网这班高速列车使得自己的企业发展的越来...
    99+
    2023-06-07
  • python 基于PYMYSQL使用MYSQL数据库
      在做测试的时候都会用到数据库,今天写一篇通过python连接MYSQL数据库 什么是MYSQL数据库 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。M...
    99+
    2022-05-17
    python pymysql python mysql
  • 云淡风轻,举重若轻:NoSQL 数据库的常见问题解决
    ...
    99+
    2024-04-02
  • oracle常见的几种数据类型 Oracle 10g学习系列(3)
    oracle常见的几种数据类型: char的长度是固定的,最大长度为2K字节。比如说,你定义了char(20),即使你你插入abc,不足二十个字节,数据库也会在abc后面自动加上17个空...
    99+
    2024-04-02
  • Android开发基础 几种常用对话框的使用
    Android开发基础 几种常用对话框的使用 开发步骤如下:(1)布局界面(2)获取按钮,添加事件监听器,实现对话框 。 我采用的是Relati...
    99+
    2022-06-06
    android开发 Android
  • 常见数据库介绍和使用场景
    在构建系统时要进行设计考虑和权衡。 1.介绍 要选择正确的存储解决方案,需要以下考虑。 关键因素 数据结构 查询模式 您需要处理的数量或规模 2.缓存解决方案 如果您经常调用数据库或远程调用具有高延迟的独立服务,则可能需要[缓存]...
    99+
    2018-03-25
    常见数据库介绍和使用场景
  • 基于Redis缓存数据常见的问题如何解决
    这篇文章主要介绍“基于Redis缓存数据常见的问题如何解决”,在日常操作中,相信很多人在基于Redis缓存数据常见的问题如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”基于Redis缓存数据常见的问题如...
    99+
    2023-07-02
  • python pandas 数据排序的几种常用方法
    前言: pandas中排序的几种常用方法,主要包括sort_index和sort_values。 基础数据: import pandas as pd import numpy as ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作