分布式服务整理

Hession
    https://blog.csdn.net/mawming/article/details/52151879

HSF(High-speed Service Framework)
    https://www.sohu.com/a/141490021_268033
    
DRDS
    https://helpcdn.aliyun.com/product/29657.html?spm=a2c4g.11186623.6.540.abd2c28bpAEwOa
    https://blog.csdn.net/chengxiang92/article/details/51784493
    https://blog.csdn.net/xxlacm/article/details/73842105
    https://blog.csdn.net/tjcyjd/article/details/11194489
    
    番外
        OLAP、OLTP的介绍和比较
        https://blog.csdn.net/zhangzheng0413/article/details/8271322/
    
    
spring-cache(缓存)
    1、@Cacheable注解

      最常用的注解,会把被注解方法的返回值缓存。工作原理是:首先在缓存中查找,如果没有执行方法并缓存结果,然后返回数据。此注解的缓存名必须指定,和cacheManager中的caches中的某一个Cache的name值相对应。可以使用value或cacheNames指定。

      如果没有指定key属性,spring会使用默认的主键生成器产生主键。也可以自定义主键,在key中可以使用SpEL表达式。如下:

        @Cacheable(cacheNames=”content”,key=”#user.userId”)
      Public User getUser(User user){
            xxxxx
        }        
     

      可以使用condition属性,来给缓存添加条件,如下:

        @Cacheable(cacheNames=”content”,key=”#user.userId”,condition=”#user.age<40”)
        Public User getUser(User user){xxxxx}
        
    2、@CachePut注解

          先执行方法,然后将返回值放回缓存。可以用作缓存的更新。

    3、@CacheEvict注解

        该注解负责从缓存中显式移除数据,通常缓存数据都有有效期,当过期时数据也会被移除。

        此注解多了两个属性:

        allEntries是否移除所有缓存条目(不建议使用allEntries进行粗暴的全局清理)。

        beforeInvocation:在方法调用前还是调用后完成移除操作,true/false(不建议使用beforeInvocation,可能会因为并发导致脏数据被载入缓存)。
        
    番外:
    1、缓存过期后,多线程并发访问数据库
        https://blog.csdn.net/clementad/article/details/52452119
        
    2、高并发缓存处理之——缓存穿透的几种形式及解决方案
        https://blog.csdn.net/doujinlong1/article/details/82024340
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章