原文见:原创,可支持1亿pv/天的数据库缓存系统,首次开源啦!
这个系统的作者是我以前的同事,很好的朋友,很高兴他把自己研发的Java数据库缓存系统开源出来,也希望朋友们多多参考,多多宣传。
转一部分他介绍文章里的内容:
总结:这种缓存思路可以存储大规模的列表,缓存命中率极高,因此可以承受超大规模的应用,但是需要技术人员根据自身业务逻辑来配置需要做散列的字段,一般用一个表的索引键做散列(注意顺序,最散的字段放前面),假设以userId为例,可以存储N个用户的M种列表,如果某个用户的相关数据发生变化,其余N-1个用户的列表缓存纹丝不动。以上说明的都是如何缓存列表,缓存长度和缓存列表思路完全一样,如缓存象select count(*) from T where topicId=2008这样的长度,也是放到topicId=2008这个散列Map中。如果再配合好使用mysql的内存表和memcached,加上F5设备做分布式负载均衡,该系统对付像1000万IP/天这种规模级的应用都足够了,除搜索引擎外一般的应用网站到不了这种规模。
再次申明:系统到底是不是强大不在系统本身而在于使用该系统的人!!!
这个缓存系统是我和同事几年经验的总结,看似简单,其实也没那么简单,把它作为开源有下面几个目的:第一,真的希望有很多人能用它;第二:希望更多的人能够完善和改进它;第三:希望大家能聚到一起为通用高效数据库缓存构架作出贡献,毕竟,数据库操作是各种应用最常用的操作,也是最容易产生性能瓶颈的地方。
Zip包中包含了配置方法和测试用的jsp,只要把它配置成一个web应用就可以快速调试并看到缓存的力量了,文档和下载地址是http://shedewang.com/akaladocs/api/com/akala/dbcache/core/BaseManager.html。
配置说明文件在docs/开始配置.txt里有说明。
最后啰嗦一句,如果大家真想支持我、支持中国人开源项目,请把该文贴到自己的博客中,记得包含文档的下载链接,thank you and Good luck。
分享到:
相关推荐
在IT行业中,数据库缓存是优化系统性能的关键技术之一,特别是在Java开发中。数据库缓存是一种将经常访问的数据存储在内存中的技术,以减少对硬盘的读取,从而提高数据的访问速度。本文将深入探讨Java与数据库缓存的...
综上所述,一个 Java 开源即时通讯(IM)系统Android端的实现涵盖了Java语言基础、Android开发技能、网络通信协议、数据库管理、用户体验设计、安全性、性能优化等多个方面的知识,是一个综合性的软件开发项目。...
作为一个开源项目,Java-Push系统应该有完善的文档,指导用户如何安装、配置、使用和贡献代码。活跃的社区可以帮助开发者解决问题,共同推动项目的进步。 综上所述,Java-Push开源实时消息推送系统通过利用Java...
Java停车管理系统源码是一个基于Java编程语言开发的软件系统,用于高效、有序地管理停车场的车位分配、计费、进出车辆记录等各项功能。该系统通常包含以下几个关键组成部分: 1. **用户界面**:用户界面是系统与...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...
由于数据存储和处理的需求不断提高,Ignite作为一个数据库缓存系统,它整合了现有的数据库技术,并提供了一个高效的解决方案,帮助开发人员和企业更有效地管理和分析数据,大大提升了大数据时代数据处理的效率和能力...
Java宠物店项目是一个基于Java编程语言和数据库技术的典型应用实例,主要采用了Struts作为MVC(模型-视图-控制器)框架,并结合了iTabs增强用户体验。这个项目旨在教授和实践Java在Web开发中的应用,同时加深对...
从数据模型到查询解析,再到存储和事务管理,每一个环节都需要深思熟虑和精心设计,以确保系统的功能完备、性能优越和高度可用。在实际开发过程中,开发者可能会借鉴开源的Java数据库项目,如Apache Derby或HSQLDB,...
Java 缓存系统实战主要涉及的是使用 Memcached 这一开源缓存框架,它是一个高性能、分布式的内存对象缓存系统。Memcached 提供了 key-value 存储,旨在优化速度差异较大的硬件或软件之间的数据交互。以下是关于 ...
Apache POI 是一个流行的、开源的Java API,用于读写Microsoft Office格式的文件,包括Excel(.xls 和 .xlsx)。JExcelAPI 是另一个早期的Java Excel处理库,支持.xls格式,但不支持.xlsx。 1. **Apache POI 使用**...
Java和MySQL数据库学生学籍管理图形化系统是一个基于Java 1.8开发的软件框架,专为管理和操作学生学籍信息而设计。该系统利用GUI(图形用户界面)提供友好的用户交互,同时与MySQL数据库进行高效的数据存储和检索。...
总的来说,这个“学生管理系统+Java源码+数据库”项目是一个综合性的实践案例,涵盖了Java开发、数据库设计、Web应用开发等多个领域的知识,对于学习和提升Java开发技能,理解企业级应用的开发流程具有很高的参考...
Java Web开源项目在线考试...总结,"java web开源项目在线考试系统"是一个综合运用了Java Web技术、数据库管理、前端开发和系统架构设计的项目。通过理解并掌握上述知识点,开发者能够构建出高效、稳定的在线考试平台。
【描述】:“这是我参考很多开源项目,觉得比较好的一个开源B2C电商系统Java版,感谢!”这表明该系统在开发者或使用者的眼中具有较高的实用性和可靠性,可能经过了广泛的测试和优化。开源意味着源代码公开,允许...
【JAVA开源】国内优秀的JEEBBS系统 JEEBBS是一款基于Java技术开发的开源论坛系统,专门针对中国用户的需求进行设计和优化。作为一款成熟的JEE应用,它充分利用了Java平台的强大功能和跨平台特性,为用户提供了一个...
Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...