分页参考

http://www.cnblogs.com/xiaoshuai1992/p/pagecontrol.html

winform datagrid+分页+提示

http://www.cnblogs.com/wuhuacong/archive/2011/08/26/2154963.html

winform

http://www.cnblogs.com/alexis/archive/2011/01/29/1947634.html

Asp.Net知识锦分享

http://www.cnblogs.com/nosnowwolf/archive/2008/07/22/1248796.html

 根据html页面模板动态生成html页面(c#类)

http://www.cnblogs.com/yuanbao/archive/2008/01/06/1027985.html

javascript

http://www.cnblogs.com/cloudgamer/

LibUsbDotNet使用方法

http://www.cnblogs.com/xidongs/archive/2011/11/26/2264572.html

sql server 备份

http://www.cnblogs.com/Yahong111/archive/2007/09/19/898326.html

.net高性能网站

http://www.cnblogs.com/zhaoguihua/p/redis-002.html

http://www.Q.net/article/2014-06-06/2820112-interview-with-guihuazhao4. restful.data开源数据持久层组件的持续更新与优化。

Q:对于高性能网站打造,你们每个部分通常使用了哪些开源组件?

数据缓存方面,可选用Redis和memcached来构建集群,降低数据库服务器的压力

  • 消息队列在某些场景下是非常有用的,如秒杀,抢购等,可以使用Redis、rabbitmq等开源组件
  • 当某些数据库或者数据表数据量非常大的时候,可以对他们进行水平和垂直切割,需要用到数据库代理,如mysql proxy,amoeba,cobar等
  • 负载均衡也有很多成熟的方案,如lvs,nginx,搭配keepalive以确保在发生单点故障时能自动切换

Q:您认为目前高性能网站架构的难点在哪里?需要避免哪些坑?顺便分享一些高性能网站打造的经验?

第一点,真实场景不易模拟和重现,我们很难在开发阶段发现架构的问题和不足,不便于我们测试。

第二点,可选的组件和工具很多,这需要我们非常熟悉组件和工具的特性,而研究这些东西又是非常花费时间和精力的。

第三点,理想和现实的碰撞,没有一个完美的架构,架构是要结合实际情况的,还需要考虑投入的成本,而成本也有可能制约架构的性能。

第四点,牛顿定律只适用于低速运行的物体,常规的思维方式和开发习惯可能在高并发大数据的网站上不适合了,所以放弃一些传统的设计理念也是摆在我们面前的一个重大难题。

  • 风格:memcached只是个简单的Key-Value存储系统,它没有备份和持久化的功能,而Redis更像是一个NoSQL数据库系统。
  • 功能:Redis提供了一些memcached没有的功能,它支持的数据类型更加丰富,支持事务,支持master-slave,支持集群。
  • 数据一致性:在多线程环境下,memcached在这一点上要比Redis做的好,但也带来了性能上的损耗。
  • 内存管理:memcached的内存利用率要比Redis高。
  • 性能:因为memcached只是简单的存储Key-Value,在缓存数据很大时,性能要优于Redis,但在单核应用上存储小于100K的数据时,Redis性能要比memcached高。
  • 网络IO:由于Redis支持更多的数据结构,所以能有效的减少网络IO的次数和数据体积,而 memcached在存储复杂数据时稍显逊色。

所以,我们无法单纯的得出谁优谁劣的结论,各有利弊,需要根据不同的应用场景来选择它们,如果只是单纯缓存一些数据,可以选择memcached,比如session数据,如果我们希望数据能被持久化,那无疑只能选择Redis,例如统计当前的访问量、在线用户数等。

Q:您是restful.data开源轻量级数据库持久层组件的创始人,您怎么看待开源这个运动?如何才能更好的参与进一个开源项目?

古人云,授人与鱼不如授人与渔,我认为开源更像是一种慈善行为,与其授予金钱和物资,还不如给他们提供一些的富有创造力的工具,让他们可以利用这些工具创造出更多更好的软件和工具来丰富我们的生活,这也是一种社会价值的体现。我们在使用开源的同时,也要学会为开源奉献自己应有的力量,更重要的是要尊重那些默默为我们做出贡献的人们。

想要参与一个开源项目,首先自身应该对开源是感兴趣的,你需要有足够的动力来驱动你参与这个项目,还需要抛弃一些世俗的观念,你可以怀揣着梦想来做这件事情,但你不能指望开源能为你带来名和利。你还需要保证有足够的时间和精力来参与其中,以确保项目能如期进行。持之以恒的毅力也是不可或缺的,坚持不懈的深入研究,才能让项目达到预期的目标。

Q:谈谈restful.data,亮点、特性、功能等。

restful.data之所以是一个轻量级的持久层框架,一开始就不想把它弄的太复杂,更多考虑的是它的性能、易用性和优雅性。

首先,它的查询效率是非常高的,我本机测试单表查询10万笔记录并全部转换为实体对象,只用了0.4秒。

其次,它很容易上手,整个框架并没有提供过多华而不实的API,你完全可以通过函数名就能猜测它的功能,使用它你不需要任何配置。

再则,它的代码风格非常优雅,符合大多数人的审美观。

restful.data提供了基本的SQL语句增删改查功能和分页查询功能,支持事务处理,支持存储过程调用,你完全可以一行代码搞定这些事情。

restful.data对linq的支持,也是其一大亮点,目前只支持单表查询,也不打算让它支持联合查询,但我觉得已经足够。

restful.data对增删改操作也提供了优雅的实现,你可以使用lambda表达式来实现批量更新和删除,这也是其他ORM框架所不具备的特性。

你可能感兴趣的:(分页)