模拟搭建Web项目的真实运行环境(六)

今天把Redis和Mongodb的操作整理一下,方便日后自己查看,废话不多说,直接进入主题。

一、Redis

1. 引用StackExchange.Redis.dll

由于ServiceStack.Redis在4.0以上已经是商业版本需要收费了,

所以在这里我选择了StackExchange.Redis应用于项目中。

首先需要获取StackExchange.Redis.dll,这里有几种方式可以得到:

① 直接下载stackexchange.redis.dll运行(推荐,简单方便)

② 去redis官网下载客户端的C#版本,然后在本地运行编译,生成stackexchange.redis.dll

(小狼几次由于网络不稳定,编译时在还原NuGet包的过程中总是不通过,导致生成的dll有问题)

③ 在 vs 里面,用nuget安装stackexchange.redis库

(通过NuGet的方式安装,框架中会多出一些可能不需要用到的库,增加项目大小)

这里我提供了一个自己上传的stackexchange.redis.dll,有需要的朋友可以下载。

百度网盘:http://pan.baidu.com/s/1qXUM39M 密码:vnrz

下载好文件加压之后在项目中引用,然后在代码中添加:

using StackExchange.Redis;

2. 创建一个Conn对象

ConnectionMultiplexer conn = ConnectionMultiplexer.Connect("192.168.1.111,password=admin");

上面的192.168.1.111是redis服务的ip地址,admin是redis服务的密码。

3. 创建一个db对象

IDatabase db = conn.GetDatabase(0);

参数0代表选择的是redis服务端的0数据库

4. 通过对象db就可以实现对redis的操作了

在下一篇附上一个小案例,简单封装了对Redis和Mongodb的操作,

有兴趣的可以下载看看。这里就不对db的方法一个一个展开介绍了。

二、Mongodb驱动

1. 从mongo官网下载C#驱动

官网地址:http://mongodb.github.io/mongo-csharp-driver/2.2/getting_started/installation/

百度网盘:http://pan.baidu.com/s/1c2v9tIS 密码:lt8m

2. 解压下载好的驱动,在项目中引用三个文件:

MongoDB.Bson.dll

MongoDB.Driver.dll

MongoDB.Driver.Core.dll

3. 在程序代码中添加:

using MongoDB.Bson;

using MongoDB.Driver;

4. 创建Client对象

IMongoClient client = new MongoClient("mongodb://192.168.1.111:27017");

5.创建Database对象

IMongoDatabase db = client.GetDatabase("db_sys");

6. 创建Collection对象

IMongoCollection<UserEntity> collection = db.GetCollection<UserEntity>("user");

7. 筛选条件

在介绍CRUD之前,先介绍筛选条件中几个重要的语法,

在这里我们把一个筛选条件(filter)作为原子来处理,

设为$a(后面小狼封装的类库中也是根据这个原理来设计)

(1)等于(Equal)

$a = key: value

*案例:

查询数据:老狼、小杨、C+、阿东、小豪、小静、老狼大傻逼

查询条件:key: ‘老狼‘}

查询结果:老狼

(2)大于(Greater)

$a = key: {$gt: value}

*案例:

查询数据:20、21、22、23

查询条件:key: {$gt: 21}

查询结果:22、23

(3)小于(Less)

$a = key: {$lt: value}

*案例:

查询数据:20、21、22、23

查询条件:key: {$lt: 21}

查询结果:20

(4)大于等于(GreateOrEqual)

$a = key: {$gte: value}

*案例:

查询数据:20、21、22、23

查询条件:key: {$gte: 21}

查询结果:21、22、23

(5)小于等于(LessOrEqual)

$a = key: {$lte: value}

*案例:

查询数据:20、21、22、23

查询条件:key: {$lte: 21}

查询结果:20、21

(6)不等于(NotEqual)

$a = key: {$ne: value}

*案例:

查询数据:20、21、22、23

查询条件:key: {$ne: 21}

查询结果:20、22、23

(7)开区间(Between)

$a = key: {$gt: value0, &lt: value1}

*案例:

查询数据:20、21、22、23

查询条件:key: {$gt: 21, &lt: 23}

查询结果:22

(8)包含(In)

$a = key: {$in: array}

*案例:

查询数据:0、1、2、3

查询条件:key: {$in: [1,2]}

查询结果:1、2

(9)不包含(NotIn)

$a = key: {$nin: array}

*案例:

查询数据:0、1、2、3

查询条件:key: {$nin: [1,2]}

查询结果:0、3

(10)模糊查询(Like)

①必须以指定值开头:key: /^value/

②指定值前面必须有其他值:key: /.value/

③包含指定值:key: /value/

*案例:

查询数据:小狼、老狼、狼群、狼窝、灰太狼、天狼星、小杨

查询条件:

①$a = key: /^狼/

②$a = key: /.狼/

③$a = key: /狼/

查询结果:

①狼群、狼窝

②小狼、老狼、灰太狼、天狼星

③小狼、老狼、狼群、狼窝、灰太狼、天狼星

其实你可以发现,第一种和第二种的合集就是第三种

(11)逻辑与(And)

假设$a = key:value,

则$c = $a, $b

(12)逻辑或(Or)

假设$a = key:value,

则$c = $or:[{$a}, {$b}]

8. 分页排序查询

collection.Find(filter, null).Sort("{ctime: -1}").Skip((index-1) * size).Limit(size).ToList<T>();

9. 创建

UserEntity entity = new UserEntity();

collection.InsertOne(entity);

10.更新

filter:更新时的筛选条件

update:更新的内容

collection.UpdateOne(filter, update);

11. 删除

collection.DeleteOne("{_id: ‘00010001‘}");

关于mongo驱动的CRUD的介绍告一段落,下一篇介绍一个小案例,

主要是一个用户详情表格的增删改查,主要以mongo驱动的使用为主,

其中增删改查用的是mongodb,而用户ID的自增用到了redis,

最后推荐一位前辈总结的一篇文章,写的很详细:

http://www.cnblogs.com/wuhuacong/archive/2016/01/05/5098348.html

时间: 2024-07-30 13:41:17

模拟搭建Web项目的真实运行环境(六)的相关文章

模拟搭建Web项目的真实运行环境(一)

序言 最近尝试完整搭建一个Web项目的运行环境,总结一下这几个月学到的知识点. 后面的文章主要包括一下几个内容: A. 搭建一个Linux服务器,用来部署Redis.Mongo等数据存储环境: B. 搭建一个Windows Server 2008,用IIS来部署Web项目: 接下来进入主题,本篇主要介绍用虚拟机部署测试环境的时候, 如何配置相关的网络连接. 一.用VM安装一个win7客户端.ubuntu服务器.windows server 2008服务器 这里就不介绍怎么安装了,网上有很多教程.

模拟搭建Web项目的真实运行环境(四)

本篇介绍如何部署mongodb环境,主要分为三个部分: 第一部分 介绍如何在ubuntu下安装mongodb, 第二部分 介绍如何在windows下安装使用MongoChef客户端, 第三部分 介绍在ubuntu下安装mongodb出现部分问题的解决方案. 一.在ubuntu环境安装mongodb 在ubuntu下安装mongodb,有两种方式: ① 使用apt-get安装mongodb(ubuntu系统安装方式) ② 下载mongo安装包,解压安装(linux系统通用安装方式) 这里先介绍ap

模拟搭建Web项目的真实运行环境(五)

一.开启IIS功能 刚安装完的server2008是没有默认开启IIS功能,在这里简单介绍一下如何开启IIS. 步骤: 1. 打开控制面板,选中[程序] 2. 在[程序和功能]下面,选择[打开或关闭windows功能] 3. 选中角色,点击[添加角色] 4. 默认下一步 5. 第一次安装会提示是否添加Web服务器(IIS)所需的功能,这里选择[添加必须的功能] 6. 默认下一步 7. 勾选上自己需要的功能模块,默认下一步 8. 点击[安装] 9. 安装成功,重启下电脑就可以了 二.发布Web项目

模拟搭建Web项目的真实运行环境(二)

上一节已经介绍了如何在虚拟机中部署测试环境,接下来将介绍怎么在ubuntu下部署redis. 一.在ubuntu安装Xrdp + Vnc 为了在以后可以通过windows系统来远程操作ubuntu,这里我们先安装一个远程终端 首先我们先来做一个实验: 1. 在windows系统下,win + R打开输入框,输入mstsc打开远程连接 2. 输入你虚拟机ubuntu系统的IP 接下来会弹出下图的一个界面,提示你远程连接失败 微软在windows系统中,给我们提供了终端远程连接客户端的程序,也即是m

模拟搭建Web项目的真实运行环境(三)

一.解决Redis出现的RDB权限问题 当你在安装redis的时候,如果是使用超级用户root安装, 开启redis服务的时候没有用超级用户去开启, 在用客户端登录redis,然后使用shutdown关闭redis服务的时候, 可能会出现下图的错误警告:(图1和图2) 图1(redis客户端的错误信息) 图2(redis服务器的错误信息) 错误提示信息:Failed opening the RDB file dump.rdb for saving: Permission denied. 意思是你

Spring-Boot快速搭建web项目详细总结

最近在学习Spring Boot 相关的技术,刚接触就有种相见恨晚的感觉,因为用spring boot进行项目的搭建是在太方便了,我们往往只需要很简单的几步,便可完成一个spring MVC项目的搭建,感觉就是下图: 好,下面就本人搭建项目的过程简单说说如何快速搭建一个spring MVC项目,相信我,spring-boot这趟车,你上了根本就停不下来了! 下面是这篇博客的主要内容: 1.spring boot 介绍 2.spring boot 项目快速搭建 3.spring-boot中单元测试

使用idea+springboot+Mybatis搭建web项目

使用idea+springboot+Mybatis搭建web项目 springboot的优势之一就是快速搭建项目,省去了自己导入jar包和配置xml的时间,使用非常方便. 1.创建项目project,然后选择Spring initializr,点击下一步  2.按图示进行勾选,点击下一步,给项目起个名字,点击确定. 3.项目生成有,点击add as maven project,idea 会自动下载jar包,时间比较长  4.项目生成后格式如下图所示:  其中DemoApplication.jav

如何使用maven搭建web项目

博客园注册了有二十多天了,还没有写过博客,今天就发一篇,也便于后面查找笔记. 我个人已经做了几年的java web开发了,由于所在的公司是业务型公司,用的都是一些老旧的稳定技术,很少接触到稍微新点的内容, 经过几年的不进则退,自己的技术能力已经开始慢慢的被时代潮流淘汰.为了在大浪淘沙中能生存下来,自己要好好加油,从基本内容开始,稳步沉淀,更新自己的技术库. 不求一口吃个大胖子,只求每天进步一点点. 废话不多说,言归正传.如何使用maven搭建web项目呢? 第一步:首先创建一个maven项目 创

使用Koa2搭建web项目

随着Node.js的日益火热,各种框架开始层出不穷的涌现出来,Node.js也开始逐渐的被应用到处理服务端请求的场景中.搭建Web项目的框架也随之开始出现--express.koa.koa2.egg等,当然要了解其好坏还是要自己去啃源码的.本文将不会涉及到源码,只是带领初学者简单了解下Koa2的基本使用,欢迎大家在评论中互相交流学习. 注意:koa2使用了ES7的语法,所以使用时请升级Node版本到最新. 了解更详细的源码信息可以到git上的koajs/koa去了解. 1.项目目录结构 2. 代