ASP.NET MVC+Redis (准备工作)
今天准备更新这个项目的第二篇博客。有一点需要说明的是之前觉得用的是Asp.net的WebPage,经过查看微软的官方文档还有相关的博客,相比较而言使用起来需要安装一个自动工具WebMatrix可以很快的搭建页面,除此之外我认为使用和学习价值并不是很大,所以决定整个项目框架更换为Asp.netMvc。
GitHub仓库创建
在GitHub上创建一个自己的仓库,选择好开发工具,添加.gitignore和readme文件。
gitignore文件和readme文件是很容易理解的。
- 有了gitignore文件之后,在提交的时候有很好的拦截作用,确保仓库的简洁。
- readme是md文件,即支持markdown语言,对项目说明有很好的展示效果。
项目创建完成之后,将项目克隆至本地路径中。
Asp.netMvc+Redis项目创建
起手式
目前阶段项目还不需要宇宙第一IDE VisualStudio(其实我是嫌VS太笨重了),所以VisualStudio Code在克隆好的路径中打开。
说到VS Code我还是挺感谢它的,之所以放弃使用已久的notepad ++是因为对微软的东西似乎有一种奇妙的感情。接触了VS Code后让我对所有的命令行工具有了很浓厚的兴趣,准备下一个阶段就学习一下Linux。
创建一个Asp.netCore Mvc项目
使用VS Code创建项目DotNet CLI是唯一选择。打开终端视图使用命令即可完成创建
dotnet new mvc
需要说明的一点是,创建完项目后可在项目文件中看到项目已经引用了Microsoft.AspNetCore.All包。这个包包含了AspNetCore开发的大部分程序集,不需要额外引用,所有程序集版本也是跟随Microsoft.AspNetCore.All的。
创建Redis工具
通过浏览Redis官网发现支持C#的客户端有很多的,大部分都已经支持DotNet Core了。我的选择是开源,没有次数限制的StackExchange.Redis。
如果项目不打算使用Microsoft.AspNetCore.All的话需要nuget官网中找到Redis客户端的引用命令,如果命令末尾不指定版本号的话默认为最新版本。
dotnet add package StackExchange.Redis
- 创建一个工具类文件夹Common用处存放所有Redis操作的类和其他具有共通意义的类文件。
- 创建一个类文件,可以使用DotNet Core命令dotnet new class也可以通过VS Code的图像化创建。创建文件之后要修改文件名和命名空间。
- 引入Redis的命名空间,完成Redis工具类代码编写。
using System;
using StackExchange.Redis;
using System.Collections.Generic;
namespace Blog.Common
{
public static class RedisCommon
{ private static ConnectionMultiplexer redis; public static ConnectionMultiplexer GetConnection()
{
if (redis == null)
{
//Redis的连接地址如果不是本机格式为ip:port
redis = ConnectionMultiplexer.Connect("localhost"); }
return redis;
} //扩展方法
public static Dictionary<string, string> ToDic(this HashEntry[] hash)
{
Dictionary<string, string> dic = new Dictionary<string, string>();
if (hash.Length == 0)
return dic;
foreach (var item in hash)
{
dic.Add(item.Name, item.Value);
}
return dic;
}
}
}
目前这只是一个简单的工具类,只是对外提供了Redis的客户端对象,如果以后有什么需要附加的方法写到这里就行了。
另外在这里我利用C#语法糖给HashEntry数组写了一个扩展方法,写这个方法的初衷是在编码过程中总是有会遇到把HashEntry数组转换成Dictionary的过程,而每每到这个时候就会需要一个导入redis包的过程,而且这段代码也是冗余的。
至此Asp.netMvc + Redis 的所有准备工作已经完成,接下来准备开发符合书中内容的blog网站。
ASP.NET MVC+Redis (准备工作)的更多相关文章
- Asp.net MVC + Redis(hash入库+log4net集成)
博客四元素 既然要写一个博客类的网站,那就应该知道博客的相关信息. 标题 作者 时间 内容 title author time content 因为之前有了解过Redis,所以有点纠结于数据的存储方式 ...
- Asp.net MVC + Redis(Linux安装Redis)
最近有幸在工作中用到了redis,玩的还算开心.但是发现Redis在Windows上并不是满血状态的,所以决定安装一个Linux的虚拟机,让Redis在Linux上运行. 虚拟环境 虚拟机,我已经玩了 ...
- 实现Asp.net Mvc分布式Session Redis群集
Redis群集实现Asp.net Mvc分布式Session Session的缺点 众所周知Asp.net Session默认存储在IIS中,IIS的重启会导致Session丢失. 如果你的网站使用了 ...
- 如何在C#Asp.Net MVC使用Redis缓存
为什么要在Asp.Net MVC项目中使用Redis缓存呢?系统是按照高负载高并发来设计的,这就涉及服务器集群带来的问题,Session存储验证码或登录信息,在系统登录的时候,可能展示登录界面和存储验 ...
- 在ASP.NET MVC中使用Redis
一.Redis基本认知 1.含义: REmote DIctionary Server(Redis) | 是一个key-value存储系统 2.特性: 2.1 持久化:可以将内存中的数据保存在磁盘中,重 ...
- 反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) C#中缓存的使用 C#操作redis WPF 控件库——可拖动选项卡的TabControl 【Bootstrap系列】详解Bootstrap-table AutoFac event 和delegate的分别 常见的异步方式async 和 await C# Task用法 c#源码的执行过程
反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) 背景介绍: 为了平衡社区成员的贡献和索取,一起帮引入了帮帮币.当用户积分(帮帮点)达到一定数额之后,就会“掉落”一定数量的“帮帮 ...
- ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现
ASP.NET MVC 学习笔记-2.Razor语法 1. 表达式 表达式必须跟在“@”符号之后, 2. 代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...
- 使用Code First建模自引用关系笔记 asp.net core上使用redis探索(1) asp.net mvc控制器激活全分析 语言入门必学的基础知识你还记得么? 反射
使用Code First建模自引用关系笔记 原文链接 一.Has方法: A.HasRequired(a => a.B); HasOptional:前者包含后者一个实例或者为null HasR ...
- ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第一篇:准备工作
摘要 本文将简要介绍这个文章系列的目的.形式及大体内容.并且完成开始学习这个系列前所必要的准备工作. 前言 ASP.NET MVC作为微软官方的MVC解决方案,推出有一段时间了.可 ...
随机推荐
- Find Peak Element(ARRAY - Devide-and-Conquer)
QUESTION A peak element is an element that is greater than its neighbors. Given an input array where ...
- linux的ssh服务
1.检查是否安装ssh > rpm -qa|grep ssh 2.安装ssh服务 > yum install ssh 配置 /etc/ssh/sshd_config 端口 22 3.启动s ...
- PAT 1064 朋友数(20)(代码)
1064 朋友数(20 分) 如果两个整数各位数字的和是一样的,则被称为是"朋友数",而那个公共的和就是它们的"朋友证号".例如 123 和 51 就是朋友数, ...
- UI设计是青春饭?今天告诉你真相!
最近有学员来问,“我想转行学习UI设计,但是听很多人说,UI设计是吃青春饭的,互联网公司是不是只选择年轻的血液而淘汰年纪大的?”今天,我来统一回答一下. UI设计是不是青春饭? 我们先来思考一个问题: ...
- [转载红鱼儿]delphi 实现微信开发(1)
大体思路: 1.用户向服务号发消息,(这里可以是个菜单项,也可以是一个关键词,如:注册会员.) 2.kbmmw web server收到消息,生成一个图文消息给微信,在图文消息中做好自己的url,在u ...
- Basic4android v3.80 beta 发布
增加了条件编译,共享模块,部分支持jar 文件直接访问.还有其他一些更新. I'm happy to release B4A v3.80 BETA. This version includes sev ...
- 2018.07.22 洛谷P1967 货车运输(kruskal重构树)
传送门 这道题以前只会树剖和最小生成树+倍增. 而现在学习了一个叫做kruskal" role="presentation" style="position: ...
- Android 长时间运行任务说明
android 4.0 后,小米手机需要授权 自动启动 (在安全中心权限里设置),不然AlarmManager设置系统闹钟将不起作用
- UVa 12174 Shuffle (滑动窗口)
题意:你正在使用的音乐播放器有一个所谓的乱序播放功能,即随机打乱歌曲的播放顺序.假设一共有s首歌, 则一开始会给这s首歌随机排序,全部播放完毕后再重新随机排序.继续播放,依次类推.注意,当s首歌播放完 ...
- HDU 3079 Vowel Counting (水题。。。判断元音)
题意:n个字符串,如果元音就是输出大写,否则输出小写. 析:没啥可说的,只要判断AEIOU就OK了. 代码如下: #include <iostream> #include <cstd ...