• 缓存服务memcache


    为什么要使用memcache?

    在这里介绍memcache有点班门弄斧了请参考百度百科;https://baike.baidu.com/item/memcached/1625373?fr=aladdin和官网:http://memcached.org/

    对比数据库mysql:

    1. mysql将数据写入到磁盘中,读取和写入比较缓慢。memcache将数据写入到内存中,提升效率,但是容易丢失
    2. 数据存储使用mysql,因为数据是真正的核心,在大并发的情况下以及大业务需要用到内存数据库
    3. 基本上memcache服务工作处于内存中,但不是永久,也会定期备份到磁盘中

    注:常用的缓存服务(memcache。redis,MongoDB)

    memcache有什么优点

    1. 对于用户来说网站访问快,会提升体验
    2. 对于网站来说,减少了数据库的压力,只用内存中没有数据才会去请求数据库
    3. 节省了一部分开支来省下数据库的配置要求

    实际应用

    1. 作为数据库的前段缓存
    2. 作为集群后端的session会话保持

    memcache分布式缓存:

    注:memcache不支持分布式缓存,需要程序实现

    1. 所有MC服务器内存的内容都是不一样的。这些服务器内容加起来接近数据库的容量。比如1T的数据库,一台缓存数据库的内存没有那么大,因此分成10台缓存服务器。
    2. 通过在客户端(Web)程序或者MC的负载均衡器上用HASH算法,让同一内容都分配到一个MC服务器。
    3. 普通的HASH算法对于节点宕机会带来大量的数据流动(失效),可能会引起雪崩效应。
    4. 一致性HASH可以让节点宕机对节点的数据流动(失效)降到最低。
  • 相关阅读:
    线性表
    面试题
    进程与线程的区别
    双亲委派模型&动态生成Java类
    springboot优势
    Python3数据结构
    GC算法
    JVM的跨平台特性
    HashMap#put (K key, V value)过程白话文
    java内存模型
  • 原文地址:https://www.cnblogs.com/ExzaiTin/p/7859347.html
Copyright © 2020-2023  润新知