[Memcached系列]专题二:Memcached For .NET

1. Memcached在.NET中的客户端 对于Memcached的在.NET中的客户端有很多,比较常用的有: a)       EmyimMemcached 可在nuget上下载获取 b)       NETmemcached client library 下载地址:h...

2016-10-05 16:36:29

阅读数 451

评论数 0

[Memcached系列]专题一:快速入门

1. Memcached简介 Memcached是一个高性能的分布式内存对象缓存系统,用于动态web应用以减轻数据库负载,它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个key-value对的hashmap。其进程是用C写的,但是客...

2016-10-05 12:27:52

阅读数 1219

评论数 0

[Redis系列]专题一:快速入门

1. Redis简介 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、a...

2016-10-03 12:46:21

阅读数 1372

评论数 0

IOC之Autofac

最近在研究,发现其内部IOC框架使用了autofac,简单的了解了一下,记录一下简单的一些用法。初浅了解下来,有一个很直观的感受,就是对代码几乎没什么侵入性,其他性能之类没有测试,但据说性能极佳。 1. 构造函数注入,如下示例(后面所有说明都是在以下的示例基础上进行的) public int...

2016-09-30 00:06:42

阅读数 4225

评论数 0

Json序列化及反序列化(备忘)

1.      DataContractJsonSerializer DataContractJsonSerializer在System.Runtime.Serialization.Json命名空间下,.NETFramework 3.5包含在System.ServiceModel.Web.dll中...

2016-09-17 16:52:07

阅读数 4578

评论数 1

Linq to Object 深入理解(一):了解Linq之前的基础知识

在我们去深入了解linq之前,有几个重要的基础需要先了解复习一下。 一、隐式类型var var是C#3.0时新增的特性,现在这个var会大量的出现在我的代码中,首先,我先从实际的感受表达一下,这个关键字给我带来的实实在在的好处: 对于我这个懒惰的人来讲,这个关键字解救了我,假设你遇到这一...

2015-06-03 22:06:26

阅读数 2183

评论数 2

简单的实现一个自定义的Linq to Sql Provider

这两天空闲时间研究了一下Linq 的提供器,简单的实现了一下,代码写的很乱,也没有注释,也没怎么对代码进行设计,因此有很多的临时变量和有些不必要的操作,但注重的是实现原理吧,微软的Linq to SQL实现水很深,这个例子只是简单的实现select和where,其他的没有实现,并且对于where查...

2014-01-09 15:33:28

阅读数 2193

评论数 0

CLR学习笔记--Attribute应用的一个小示例

在之前的一节“”中,我们介绍了Attribute的用法,这一节,来写个具体Attribute应用场景,这个示例主要实现DataTable转换相应的实体,一般情况下,我们进行数据库查询,选用一个DataTable填充数据,但我们往往需要将DataTable进行一个相应的实体转换,例如经典的三层架构中...

2013-11-22 14:54:23

阅读数 809

评论数 0

CLR学习笔记--Attribute

一、       引言 利用定制的Attribute,我样可以声明性地为自己的代码添加注解,从而实现一些特殊的功能。定制的Attribute允许将定义的信息应用于几乎每一个元数据表记录项(AttributeTargets枚举了可应用的所有项) 当我们将一个定制的Attribute应用于某个元数...

2013-11-21 17:13:35

阅读数 1034

评论数 0

[多线程之旅] 五、浅析Thread.VolatileRead/VolatileWrite

一、volatile的局限 上一节,我们简要的分析了volatile对易失性的支持,对于某些字段可能被多线程共享时,我们往往要考虑这些字段的可见性,以及考虑CPU和编译器对代码顺序进行优化(尽管编译器和CPU在实际中很少这样做)带来的不可预知的影响,因此C#提供了volatile关键字,它告...

2013-11-18 13:01:03

阅读数 1608

评论数 0

聊聊可空类型

一、前言 在C#2.0之前,对于值类型来讲,我们是没法把一个null值赋给一个值变量的,那时,null只专属于引用类型,猜想Null当时的设计就是针对引用类型的,把null赋给引用类型变量时,表明变量不引用任何堆上的对象。即指针为空指针。 由于这种设计,在C#2.0之前,程序员往往面对一个很尴尬的...

2013-11-18 12:52:39

阅读数 993

评论数 0

[多线程之旅]四、浅谈volatile

一、       内存操作顺序 导致多线程编程的具有复杂性的众多原因之一是:编译器和硬件可能会在背后悄然改变程序的操作顺序,这种顺序的的改变不会影响单线程的行为,但在多线程编程中,由于编译器和硬件的这种行为,可能会导致一些我们异想不到的结果,我们先看下Jeffrey的《CLR VIA C#》中的一...

2013-11-03 22:20:40

阅读数 744

评论数 0

[多线程之旅] 三、线程同步基础

一、       引言 多线程编程给我们带来了很好的用户体验,同时也充分了利用了CPU,但带好的好处的同时,我们又要是付出代价的,代价就是我们要考虑很多的问题,例如当多个线程同时竞争共享资源时,则很有可能对共享资源的状态进行破坏,因此我们需要采取一些策略—线程同步来解决这一问题。关于线程同步是一...

2013-11-03 22:02:57

阅读数 907

评论数 0

[多线程之旅] 一、初识多线程

一、   线程的概念 默认情况下,C# 程序具有一个线程。此线程执行程序中以Main方法开始和结束的代码。Main直接或间接执行的每一个命令都由默认线程(或主线程)执行,当Main返回时此线程也将终止。不过,可以创建辅助线程,以便与主线程一起并行执行代码。这些线程通常称为“辅助线程”。 辅助线...

2013-10-26 12:22:44

阅读数 696

评论数 0

由int i和int i=new int()想到的

Int i和int i=newint()的区别 作为引用类型中的字段: Int i和int i=newint() 如果做为类中的字段时,因为类在实例时会自动完成字段的初始化工作,因此在使用上是没有区别的,注意,仅仅是在使用上是没有区别,为什么这么说,请看下面示例: publi...

2013-09-25 14:19:11

阅读数 822

评论数 0

CLR学习笔记--对象比较方法梳理

一、引言 对于对象的比较,C#提供了很多种比较方法,以及==和!=等运算来进行对象的同一性和相等性的比较,但我们在实际的编写代码中,可能会混淆各个方法的用法,在此废话不多说,我们一起来看些这几种方法的具体用法及含义。 二、Object. Equals (object obj) 这个方法是O...

2013-09-13 23:19:18

阅读数 712

评论数 0

CLR学习笔记--属性

一、为什么需要属性 属性:属性是这样的一个成员,它提供灵活的机制来读取、编写或计算某个私有字段的值。可以像使用公共数据成员一样使用属性,但实际上它们称任“访问器”的特殊方法。这使得可以轻松的访问数据,此外还有助于提高方法的安全性和灵活性。--摘自MSDN 为什么需要属性: 1、  面向对象设计和编...

2013-09-12 16:12:20

阅读数 778

评论数 0

CLR学习笔记--深入理解多态机制

一、引言 所谓万事开头难,哪怕是写一个学习笔记,以前看惯别人写的博客文章,当时看了就看了,只有一种感觉就是解决了心中的好久疑团,现在自己去写才了解,也许你看了只有短短几分钟,可别人却下了功夫,用了很多心,在此对那些分享文章的朋友表示敬意,想把自己理解的东西写出来十分不易,何况自己可能对写的东西也不...

2013-09-05 17:14:31

阅读数 1685

评论数 0

提示
确定要删除当前文章?
取消 删除