我用的是Enyim.Caching.MemcachedClient我做了下测试.用MemcachedClient插入10000条消息时,用时00:00:02.0625000 秒用System.Web.Caching.Cache 插入10000条消息时,用时00:00:00.1093750 秒------------------------------------------
虽然网上都说memcached非常强大.但个人感觉用处不大.(不知道什么情况下用Memcached比较合适)
------------------------------
个人理解:假设有10台Web服务器.1台数据库服务器.有一些数据不是经常更新的,就从数据库读取,然后每台Web服务器都进行缓存.要读10次数据库.而且缓存的东西是一样的.这时如果用Memcached进行缓存的话,只要读1次数据库. 如果数据更新的话,也只需读取1次.数据库的压力是减轻了. 但对Memcached进行读取要比读取Web.Caching慢. (如果一台Web服务器有10000(不太可能)人同时读取的话,速度就慢了)只有1台Web服务器的话,Memcached一点用都没有.刚初步了解Memcached,高手们指导下.

解决方案 »

  1.   

    >>只有1台Web服务器的话,Memcached一点用都没有这个就是 问题本质 ,他是分布式缓存。
      

  2.   

    只有1台Web服务器的话,Memcached一点用都没有 
      

  3.   

    我只想知道在什么情况下.用Memcached比较合适.
      

  4.   

    的确memcached的速度比web自己的cache速度慢不止10倍,但在负载均衡的环境下他的功能是普通cache无法实现的。你要知道一般数据量的情况下 access的速度比sqlserver快 ,毕竟分布式系统要考虑的东西很多,这些都要开销的。
      

  5.   

    大部分公司最典型的应用是单db,双 web做负载均衡,如果不用分布式缓存而用普通缓存就会发生数据不一致的情况,当然如果用户可以接受那是另外一回事。
      

  6.   

    Memcached是“分布式”的内存对象缓存系统,那么就是说,那些不需要“分布”的,不需要共享的,或者干脆规模小到只有一台服务器的应用,memcached不会带来任何好处,相反还会拖慢系统效率,因为网络连接同样需要资源,即使是UNIX本地连接也一样。
      

  7.   

    System.Web.Caching只对本站点有用,如果你有2个站点,一个前台网站,一个后台管理,彼此是不会有 相同的缓存的。就是你后台修改了一个数据对象的缓存,前台根本没变!~
    那就是杯具