缓存—Memcached


    Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高运行速度。


    存储

    Memcached中保存的数据都存储在Memcached内置的内存存储空间中。数据仅存在于内存中,重启memcached或者重启操作系统都会导致全部数据消失。

    memcached的内存存储空间是有一定限制的,当内容容量达到指定值之后,就会根据LUR算法自动删除不适用的缓存。memcached是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。


    使用

    打开命令窗口,输入telnet 127.0.0.1 11211 命令连接上memcache,然后直接输入stats得到当前memcache的状态,根据得出的memcached中数据的状态进一步操作。


    多读少写

    毕竟是缓存的数据,所以对于Memcached来说,它并不适合写的操作,举个简单的例子:

    高校的选课系统再形象不过了,如果在学生选课的过程中,把课程数据从数据库中读出来放在Memcached内置的内存存储空间中,因为课程信息是需要不断更新的,想必大家都体会过选课的艰辛,如果读取出来的始终是Memcached中的数据,那学生所选课程必定会混淆,提交数据更会频繁失败甚至出错。

    使用Mamcached的目的是通过缓存数据库查询结果,减少数据库的访问次数,以提高效率,但像上述这种情况,需要实时更新数据库数据,那就绝不适合使用Memcached来缓存数据,就算要用,也要慎重考虑它的用途。


    优点

    1.支持分布式扩展;
    2.分布式使用简单,可以再客户端直接设置多个memcached服务器。

    

    缺点

    1.memcached数据是保存在内容当中的,一旦服务进程重启,数据会全部丢失。

    查询对策:可以采取更改memcached的源代码,增加定期写入硬盘的功能。

    2.memcached以root权限运行,而且memcached本身没有任何权限管理和认证功能,安全性不足。

    查询对策:可以将memcached服务绑定在内网IP上,通过防火墙进行防护。

    以上两种对策都是通过查询得知的,但并没有经过具体的实践,同伴们尝试之后可以告知小编哦!


    补充

    Memcached的内存分配以page为单位,默认情况下一个page是1M。


    Memcached的学习内容暂时是这些,后期学习中再不断补充。




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 34
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值