续二的类:
/**
* 从主页面点击产品定位到导航页面
*/
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);
}
}
}
分享到:
相关推荐
1、cassandra的安装、维护使用 2、java操作cassandra实例 3、cql使用详解
spring boot与cassandra集成,使用JPA方式。
一个使用Springboot和Cassandra的简单示例 一个简单的示例,说明spring boot cassandra的实现 它有两个实现-自动配置和使用AbstractCassandraConfiguration。 Exmaple遍历GET和POST请求 还说明了如何在cassandra表...
cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战cassandra 实战...
php使用cassandra用到的phpcassa-0.1
模式灵活 :使用Cassandra,像文档存储,你不必提前解决记录中的字段。你可以在系统运行时随意的添加或移除字段。这是一个惊人的效率提升,特别是在大型部署上。 真正的可扩展性 :Cassandra是纯粹意义上的水平扩展...
[Packt Publishing] Cassandra 高性能开发经典实例 (英文版) [Packt Publishing] Cassandra High Performance Cookbook (E-Book) ☆ 出版信息:☆ [作者信息] Edward Capriolo [出版机构] Packt Publishing ...
Cassandra在Windows上安装及使用方法
The rising popularity of Apache Cassandra rests on its ability to handle very large data sets that include hundreds of terabytes -- and that's why this distributed database has been chosen by ...
cassandra_snapshotter, 在S3上,使用快照和增量备份备份cassandra节点的工具 cassandra_snapshotter在S3上使用快照和增量备份备份cassandra节点的工具项目的范围是使集群更容易备份到 S3,并合并快照和增量备份。...
java NoSql Cassandra hector 做的实例,拿出来分享
DevCenter cassandra客户端 DevCenter cassandra客户端 DevCenter cassandra客户端
django-cassandra-engine, Django Cassandra引擎用于 Django的Cassandra后端 Django 引擎- Django的Cassandra后端使用Apache和 Django 框架开始你的旅程所需的所有工具 ! 特性最新的python-driver 集成,并可以选择...
lua-resty-cassandra, 使用CQL二进制协议的纯Lua客户端 这里 repo 为正在积极维护。 我强烈建议你尝试 。 lua-resty-cassandra 使用CQL二进制协议v2的纯Lua客户端。如果在 Nginx/openresty中使用,它是 100%个非阻塞...
Cassandra(apache-cassandra-4.0.1-bin.tar.gz)是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身...
stratio-cassandra, 支持 Cassandra Lucene索引,已经停止 此外,这个项目不再支持Cassandra索引,它完全保持了与 Apache Cassandra的插件相同的功能,而不是一个 fork 插件。 值得注意的是,插件发行版比 fork 更...
cassandra cli 命令 大全
根据cassandra 的一个client jdbc源码编译的官方jar包,没有任何修改,官方源码导出,可以使用sql形式进行操作cassandra,使用时请结合Cassandra其他必须jar包测试使用
Cassandra The Definitive Guide(2nd) 英文azw3 第2版 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
cassandra cql3. pdf