`
soleghost
  • 浏览: 41984 次
  • 性别: Icon_minigender_1
  • 来自: 未知
社区版块
存档分类
最新评论

缓存小技巧--key的关联性

阅读更多

如果我们对一个比较复杂的模型做cache,会有如下需求:

1. 利用多个key去查询这一模型的cache

2. 继而要求可以利用多个key去删除cache时

 

如果按照最简单的模型,每个key对应一个cache数据,这样当某一个key对应cache中的数据变动时,另外一个key对应的cache数据必定成为脏数据。

举例:key1->cacheObject,key2->cacheObject,当put(key1,cacheObject)时,key2对应的数据必定是脏数据;或者remove(key1)时,key2对应的cacheObject也还是会存在的,也是脏数据。

 

于是,有个办法,就是把多个key关联起来,通过key之间的关联,达到数据一致性的目的。

 

我们的模型是这样的:

key1->key2,key2->cacheObject,在实际的程序中

存数据:put(key1,key2);put(key2,cacheObject)

查数据:key2=get(key1);cacheObject=get(key2);

删数据:key2=get(key1);remove(key2);

 

分享到:
评论

相关推荐

    缓存应用的实践分享,项目中实际使用

    缓存的有效时间、关联信息等都会被记录并用于自动化维护管理。此外,还应设计合理的缓存更新策略,如LRU(Least Recently Used)或TTL(Time To Live),以确保数据的时效性和一致性。 ### 实践心得与应用技巧 在...

    Java面试题-Mysql中级面试题

    - **调整缓冲区大小**: 如增大 `innodb_buffer_pool_size` 来增加缓存池的大小。 - **批量插入**: 减少磁盘I/O次数,提高写入速度。 - **减少索引数量**: 过多的索引会降低写入性能。 - **优化事务设计**: 采用合适...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. 投影(Projections)、...

    HibernateAPI中文版.chm

    14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. 投影(Projections)、...

    hibernate3.2中文文档(chm格式)

    14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. 投影(Projections)、...

    地图的简单使用(Map)

    了解其工作原理和使用技巧对于编写高效代码至关重要。在实际项目中,根据需求选择合适类型的Map,例如需要保持插入顺序时可以选择LinkedHashMap,需要排序则选择TreeMap,追求效率则优先考虑HashMap。

    Memcached 内存分析、调优、集群

    ### Memcached内存分析、调优、集群 ...通过对内存分配机制、性能优化技巧以及集群部署策略的理解,可以有效地提升Web应用的整体性能。未来随着技术的发展,Memcached也将不断演进,更好地满足不同场景下的需求。

    php and mysql programming

    - 外键(Foreign Key):用于建立表之间的关联。 - 规范化(Normalization):减少数据冗余和提高数据一致性。 **3. 安全性考虑** - 在使用PHP和MySQL开发应用程序时必须重视安全性。 - 安全措施: - 输入验证:确保...

    Hibernate+中文文档

    14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. 投影(Projections)、...

    Hibernate 中文 html 帮助文档

    14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. 投影(Projections)、聚合...

    hibernate 体系结构与配置 参考文档(html)

    小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. 投影(Projections)、聚合...

    hibernate-biji

    本教程“hibernate-biji”旨在指导你如何有效地使用Hibernate,以及一些实用的小技巧和注意事项。 1. Hibernate简介: Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发人员将对象模型转换为关系...

    Go 语言Map(集合).pdf

    Map 的基本概念是通过唯一的键(Key)来关联一个值(Value),这种键值对的集合使得 Map 成为一种灵活且强大的数据类型。本文将深入探讨 Map 的内部实现原理、基本操作以及如何在实际编程中有效地使用 Map。 #### ...

    Hibernate中文详细学习文档

    14.15. 小技巧 & 小窍门 15. 条件查询(Criteria Queries) 15.1. 创建一个Criteria 实例 15.2. 限制结果集内容 15.3. 结果集排序 15.4. 关联 15.5. 动态关联抓取 15.6. 查询示例 15.7. 投影(Projections)、...

    双谷网关于IT行业软件开发常用英语词汇大全.docx

    - **Definition**: 一种编程技巧,允许将函数作为参数传递给另一个函数,以便在适当的时候调用。 **Candidate Key 候选键(for database)** - **Definition**: 数据库中能够唯一标识表中每一行的一个或多个字段。 ...

    MySQL数据库优化技术之配置技巧总结

    - `sort_buffer_size`和`join_buffer_size`:分别设置排序和关联查询的缓冲大小,根据并发连接数和查询复杂度适当调整。 - `max_connections`:设置最大并发连接数,根据系统预期的最大并发量设定。 - `thread_...

    Ubuntu中文命令

    ### Ubuntu中文命令与技巧详解 #### 一、安装与升级 **1. 查看软件安装内容** 使用`dpkg -L <package-name>`可以查看指定软件包在系统上安装了哪些文件。 **2. 查找软件库中的软件** 通过`apt-cache search ...

    hibernate 框架详解

    小技巧 & 小窍门 16. 条件查询(Criteria Queries) 16.1. 创建一个Criteria 实例 16.2. 限制结果集内容 16.3. 结果集排序 16.4. 关联 16.5. 动态关联抓取 16.6. 查询示例 16.7. 投影(Projections)、聚合...

    hibernate3.04中文文档.chm

    15.14. 小技巧 & 小窍门 16. 条件查询(Criteria Queries) 16.1. 创建一个Criteria 实例 16.2. 限制结果集内容 16.3. 结果集排序 16.4. 关联 16.5. 动态关联抓取 16.6. 查询示例 16.7. 投影(Projections)、...

Global site tag (gtag.js) - Google Analytics