续二的类:
/**
* 从主页面点击产品定位到导航页面
*/
public List<Map<String, Object>> getThinkwordByDocFamily(Map map)
throws ApplicationException
{
String nlsLang = (String) map.get("nlsLang");
String itemName = (String) map.get("itemName");
String itemId = (String) map.get("itemId");
String aKeyArea = CACHE_FUNCTION + ".getThinkwordByDocFamilyIndex";
String aName = nlsLang + ":"+ itemId + itemName;
//通过 aKeyArea 和 aName 获取缓存中的对象
if (IS_USE_CACHE)
{
List cacheList = (List) getLivingCacheObject(aKeyArea, aName);
if (cacheList != null && cacheList.size() > 0)
{
return cacheList;
}
}
//从数据库取数据,再存入缓存;
List dataList = navigationDao.getThinkwordByDocFamily(map);
if (IS_USE_CACHE && dataList != null && dataList.size() > 0)
{
pushCacheObject(aKeyArea, aName, dataList);
}
return dataList;
}
/**通过ID获取HtmlArea静态脚本
*/
public Map<String, Object> getHtmlArea(String ID)
throws ApplicationException
{
String aKeyArea = CACHE_FUNCTION + ".getHtmlArea";
String aName = ID;
//通过 aKeyArea 和 aName 获取缓存中的对象
if (IS_USE_CACHE)
{
Map cacheMap = (Map) getLivingCacheObject(aKeyArea, aName);
if (cacheMap != null && cacheMap.size() > 0)
{
return cacheMap;
}
}
//从数据库取数据,再存入缓存;
Map dataMap = navigationDao.getHTMLArea(ID);
if (IS_USE_CACHE && dataMap != null && dataMap.size() > 0)
{
pushCacheObject(aKeyArea, aName, dataMap);
}
return dataMap;
}
/**获取缓存生命周期有效的缓存对象
*/
private Object getLivingCacheObject(String aKeyArea, String aName)
throws ApplicationException
{
Map cacheMap;
try
{
cacheMap = cache.getResultMap(aKeyArea, aName);
}
catch (Exception e)
{
e.printStackTrace();
throw new ApplicationException("cache getResultMap error", e);
}
if (cacheMap != null)
{
long pushTime = (Long) cacheMap.get("cache.timestamp");
long liveTime = System.currentTimeMillis() - pushTime;
Object cacheObject = cacheMap.get("cache.value");
if (liveTime < CACHE_LIFE_CYCLE)
{
sLog.info(" getLivingCacheObject : --aKeyArea=" + aKeyArea
+ "; --aName=" + aName + "; ");
return cacheObject;
}
}
return null;
}
/** 缓存一个可序列化的数据对象
*/
private void pushCacheObject(String aKeyArea, String aName, Object object)
throws ApplicationException
{
try
{
sLog.info(" pushCacheObject : --aKeyArea=" + aKeyArea
+ "; --aName=" + aName + "; ");
cache.put(aKeyArea, aName, (Serializable) object);
}
catch (Exception e)
{
e.printStackTrace();
throw new ApplicationException("cache put error", e);
}
}
}
分享到:
相关推荐
4. `conf`:配置文件,如`cassandra.yaml`,用于设置Cassandra实例的行为。 5. `lib`:依赖的外部库文件。 6. `doc`:项目文档,包括用户指南和技术参考。 7. `scripts`:启动、停止和管理Cassandra的脚本。 ...
3. 数据持久化到Cassandra:这部分可能涉及Cassandra的Java驱动程序,演示如何创建键空间、表,以及如何插入、查询数据。 4. 集群部署与监控:可能包含Storm集群的配置和管理,以及Cassandra的集群扩展和监控工具的...
每个示例都应该是可读的,外部引用最少。 它们应该按顺序阅读(并试用),因为它们是相互建立的。 例子 聚合并保存 演示简单的连接和聚合。 为开发环境硬编码,连接到本地主机。 数据迁移 这是使用 Spark 在 ...
3. **灵活配置**:Apollon允许用户自定义Cassandra的配置参数,以满足不同应用场景的需求,如内存分配、磁盘使用等。 4. **性能优化**:由于Apollon运行在同一个JVM中,数据读写速度相对传统网络通信方式更快,减少...
这个工具使得在单元测试中加载数据到Cassandra、执行查询以及验证存储的数据变得极其简单,无需依赖于外部环境或复杂的设置过程。 Cassandra-Unit的核心功能是它内建了Cassandra服务器的嵌入式实例,这使得开发者...
Cassandra作为一个分布式NoSQL数据库系统,其核心功能模块可大致分为三大部分:客户端协议解析、集群Gossip协议以及数据存储。 1. **客户端协议解析**:这部分处理Cassandra与外部客户端之间的通信。当前版本中,...
使用Apache Cassandra支持数据的长期持久性。 目录 安装 先决条件是 14.x和npm版本>=6.14 。 要安装流媒体经纪人: npm install streamr-broker --global 跑 将代理节点作为完整Streamr堆栈的一部分运行很方便。 ...
REST API示例 服务具有配置文件,其中包含: 服务端口监听 Cassandra服务器的地址 键空间名称。 如果不存在这样的密钥空间,则应用程序将创建带有必要表的新密钥空间。 外部依存关系: : 日志将写入标准输出。 ...
3. **数据采集和处理**:如何定期收集Cassandra节点的性能指标,如CPU使用率、内存消耗、磁盘I/O等,并进行聚合和分析。 4. **报警逻辑**:当特定指标超过预设阈值时,如何触发报警并通知管理员。 5. **图形化界面**...
3. **内嵌服务器**:Spring Boot 可以内嵌 Tomcat 或 Jetty 服务器,这样开发者无需额外部署到外部服务器,只需运行主类即可启动应用。 4. **健康检查与监控**:Spring Boot Actuator 提供了健康检查、指标暴露、...
3. **内嵌Web服务器**:Spring Boot支持内嵌Tomcat、Jetty或Undertow等Web服务器,使得应用程序可以直接作为独立的可执行jar运行,无需额外部署到外部服务器。 4. **健康检查与Actuator**:Spring Boot Actuator...
- **1.4.2 多实例MySQL启动与关闭方法示例** - 对于每个实例,使用类似的方法启动服务。 - 关闭时,需指定具体的实例名称或端口号。 #### 1.5 生产环境关闭MySQL的命令 在生产环境中,应避免使用强制命令关闭...
VMware是一款广泛使用的虚拟机软件,允许我们在一台物理机器上运行多个独立的操作系统实例。在VMware的官方网站(https://www.vmware.com/cn.html)上可以下载到适合您系统的最新版本。安装过程通常包括以下步骤: 1...
Lagom-scala-sbt-standalone 构建一个Lagom项目(在Scala中)以在Lightbend Production Suite(aka ConductR)之外运行的基本示例。 它最初是从lagom-scala模板( sbt new lagom/lagom-scala.g8 )创建的,具有以下...
- **1.1.6 初始化存储库**:Sqoop 使用一个外部存储库来存储作业和用户信息。 - **1.1.7 服务器生命周期管理**:了解如何启动、停止和管理 Sqoop 服务器。 - **1.2 客户端安装**:客户端可以安装在集群中的多个...
在IT行业中,Python是一种广泛使用的高级编程语言,以其简洁、易读的语法和丰富的库生态系统而闻名。在处理数据和构建应用程序时,Python库扮演着至关重要的角色。本篇文章将详细探讨"onyx.datafeeds-2.1.5-py3-none...
当今存在的许多Web服务都使用多种数据存储,例如hbase , hdfs , cassandra和mysql 。 可能只有很少的外部服务依赖这些数据存储。 通常,会有一个rest API,它将在json或其他某种表示形式之间来回转换java对象。 另...
- **支持的数据源类型**:包括但不限于JSON、Avro、CSV、Parquet、ORC、JDBC、Cassandra (C*) 和 HBase等。 - **混合不同类型的数据源**:可以轻松地混合使用多种数据源类型。例如,可以通过创建临时表来组合JSON和...
3. **读写分离**:将读操作与写操作分别指向不同的数据库实例,提高系统整体吞吐量。 4. **分布式数据库**:通过分布式架构,如NewSQL或NoSQL,处理大规模数据。例如,Google的Spanner、Facebook的Cassandra等。 5...