`
superseven
  • 浏览: 109132 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

关于cache的使用时的几个问题

 
阅读更多
今天刚好在使用cache,前台接口程序和后台管理都会同时调用,当初设计的时候没有通过分布式服务统一接口,两个人各写各的,只是把cache的key相互告知了下,写完后在测试的时候发了几个常见的问题:

   1、cache的key约定
     
      当双方都要使用或者操作同一个对象时,必须约定好这个key,而且key是唯一的,否则发生双方共用一个key,他put进去一个值,你又put进去,导致频繁的被操作,这样对cache就没有意义

   2、每个key对应的对象必须一致
    
      今天碰到就是一种情况,cache了一个pojo双方存入的对象有些小差别,同一个属性,一个定义的是Integer,一个定义的是Short,导致抛出ClassNotFoundException的异常

   3、POJO必须序列化

      每个被cache的值必须经过序列化之后才会被存储,否则会抛出NotSerializableException的异常

    这几个问题在使用cache时很容易碰到,第一个问题这个在开发过程中,如果采用提供服务的话可以避免,由一个人来开发服务端供别人调用,一个人管理cache的话发生的概率会小很多。
    
分享到:
评论

相关推荐

    解决 linux 下 buffcache 占用过高的问题.docx

    在标题和描述中提到的问题,即"Linux下buff/cache占用过高",这是一个常见的系统性能优化问题,尤其是对于运行Java应用或者其他资源密集型服务的云服务器而言。这里我们将深入探讨buff/cache的作用、为何会占用过多...

    S3C2440关于cache默认分类 2009.doc

    在S3C2440中,Cache的组织和管理涉及到以下几个关键点: 1. **Cache组织**:Cache被划分为多个小的存储单元,称为块或行。当CPU需要访问数据时,会先查看Cache中是否存在该数据。如果找到,即为命中;若未找到,...

    使用logsim实现的组相连cache

    在实现组相连Cache时,我们需要考虑以下几个关键要素: 1. **缓存大小**:确定缓存的总容量,这决定了可以存储多少个数据块。 2. **块大小**:定义每个缓存行(或称为块)可以存储的数据量。通常,块大小是主存字...

    cache性能分析实验

    3. **冲突失效(Conflict miss)**:在直接映射或组相联Cache中,过多的数据块映射到同一个Cache行,导致某块被其他块替换后再次访问时发生失效。 #### 降低Cache失效率的方法 - **增加Cache块大小**:增大块大小...

    magento 加速插件 full page cache 花了我几十美金买的

    为了解决这个问题,"Full Page Cache"(FPC)插件应运而生,它是Magento性能优化的重要工具之一。 Full Page Cache 插件的核心功能是通过缓存整个页面来显著提高网站的加载速度。在传统的Web应用中,每次用户请求...

    Cache的工作原理

    根据Cache的组织方式不同,可以分为几种基本类型: ##### 1. 全相联Cache - **特点**:在全相联Cache中,主存中的任意一块数据都可以映射到Cache中的任意一个位置。这意味着,当CPU需要访问某块数据时,需要将该...

    嵌入式编程需注意的Cache机制及其原理

    在嵌入式编程中,Cache机制需要注意以下几个问题: 1. 访问外设使用Cache的问题 -------------------------------- 在访问外设时,使用Cache可能会出现问题,因为外设数据的改变不仅仅依靠CPU写操作,CPU第一次...

    logisim及全相联cache设计.rar

    全相联Cache的设计通常包括以下几个关键部分: 1. **块大小(Block Size)**:全相联Cache中的数据是以块为单位进行存储的,块大小是设计时需要考虑的重要参数。它直接影响了Cache的命中率和容量。块越大,能缓存的...

    cache一致性和cache不一致的解决方法

    解决多处理机环境下Cache一致性问题的方法主要包括以下几种: - **目录协议**:每个处理机都有一个目录,记录着哪些数据块在哪个Cache中。当某个Cache写入数据时,需要通知其他所有包含该数据块的Cache进行更新。 -...

    计算机组成原理有关cache的知识

    Cache 是计算机组成原理中一个非常重要的组件,它的设计和实现需要考虑多种因素,包括地址映射、容量、块大小、替换算法等。只有通过深入了解 Cache 的知识点,才能更好地设计和实现高速缓存系统。

    Cache和主存的三种映射方式

    Cache的主要作用是缓解CPU与主存之间速度不匹配的问题,提高整体系统的性能。本篇文章将详细介绍Cache与主存之间常见的三种映射方式:全相联映射、直接映射以及组相联映射,并深入探讨它们的特点、优缺点以及应用...

    路由noCache失效解决方法.docx

    在vue-admin-elementui项目中,遇到`noCache`失效的情况可能有以下几个原因: 1. **路由名称与页面名称不一致**:在设置`noCache`时,确保路由的name属性与对应的组件文件名相同。这是因为vue-router通常会基于路由...

    PrimoCache v3.09.zip

    PrimoCache,一个在IT领域中被广泛使用的高效硬盘缓存工具,其最新版本v3.09,为用户带来了更为优化的存储性能提升。这款软件的核心功能在于通过在内存中创建临时高速缓存,来提高硬盘的读写速度,尤其对机械硬盘的...

    C64+ DSP Cache 一致性

    为了保证Cache间的一致性,我们需要考虑以下几个方面: 1. **Core访问存储器的过程:** - 当Core尝试访问某个地址时,它首先检查L1 Cache中是否存在该数据。 - 如果命中,则直接从L1 Cache中获取数据。 - 如果未...

    Cache数据库学习资料

    学习Cache数据库的过程中,你需要掌握以下几个关键点: 1. ObjectScript:理解其语法结构,学会如何定义类、方法和属性,以及如何使用它们来操作数据库。 2. 数据模型:了解Cache的多维数据模型,包括全局区域、...

    cache_axi4.rar

    Cache的设计通常包括以下几个关键部分: 1. **Tag Memory**:存储每个缓存行的标识符(Tag),用于比较CPU请求的地址是否在Cache中已存在。当CPU发起一个读或写请求时,Tag Memory会检查请求的地址是否匹配已存储的...

    第6关:4路组相连cache设计.txt

    为了更好地理解如何设计一个4路组相连的Cache,我们需要考虑以下几个关键步骤: #### 1. 参数定义 - **Cache大小**:确定Cache的总容量。 - **块大小**:每个Cache块存储的数据量。 - **主内存大小**:整个系统的主...

    图片缓存DiskCache demo

    这个过程通常涉及到以下几个关键步骤: 1. **缓存策略**:确定何时缓存图片,何时使用缓存,以及何时更新缓存。例如,可以设定一个缓存大小限制,当超过这个限制时,按照某种策略(如LRU - 最近最少使用)删除旧的...

    Lab3-Cache实验-实验要求1

    Cache实验的设计与实现需要注意 Cache的结构、 Cache的时序、 Cache的替换策略等几个方面,並且需要根据 Cache的编写、 Cache的测试、 Cache的性能评估等几个方面进行实现。同时,Cache实验报告需要根据 Cache实验的...

    opencv3.4.0的.cache文件夹

    在实际使用中,如果遇到编译问题或性能瓶颈,检查和清理`.cache`文件可能是一个有用的步骤,因为旧的或错误的缓存信息可能会导致问题。同时,迁移或升级到新版本的OpenCV时,通常需要清除旧的`.cache`文件以确保与新...

Global site tag (gtag.js) - Google Analytics