`
conquer0
  • 浏览: 78320 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

cassandra外部使用示例三

阅读更多
续二的类:
    /**
     * 从主页面点击产品定位到导航页面
     */
    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);
        }
    }
}
分享到:
评论

相关推荐

    cassandra-trunk

    4. `conf`:配置文件,如`cassandra.yaml`,用于设置Cassandra实例的行为。 5. `lib`:依赖的外部库文件。 6. `doc`:项目文档,包括用户指南和技术参考。 7. `scripts`:启动、停止和管理Cassandra的脚本。 ...

    Real-time Analytics with Storm and Cassandra源码

    3. 数据持久化到Cassandra:这部分可能涉及Cassandra的Java驱动程序,演示如何创建键空间、表,以及如何插入、查询数据。 4. 集群部署与监控:可能包含Storm集群的配置和管理,以及Cassandra的集群扩展和监控工具的...

    learn-spark-cassandra:与 cassandra 示例对话的简单 Spark 集合

    每个示例都应该是可读的,外部引用最少。 它们应该按顺序阅读(并试用),因为它们是相互建立的。 例子 聚合并保存 演示简单的连接和聚合。 为开发环境硬编码,连接到本地主机。 数据迁移 这是使用 Spark 在 ...

    Apollon:Apollon嵌入式Cassandra

    3. **灵活配置**:Apollon允许用户自定义Cassandra的配置参数,以满足不同应用场景的需求,如内存分配、磁盘使用等。 4. **性能优化**:由于Apollon运行在同一个JVM中,数据读写速度相对传统网络通信方式更快,减少...

    reflect-2.0.0.zip

    这个工具使得在单元测试中加载数据到Cassandra、执行查询以及验证存储的数据变得极其简单,无需依赖于外部环境或复杂的设置过程。 Cassandra-Unit的核心功能是它内建了Cassandra服务器的嵌入式实例,这使得开发者...

    详解第二部分

    Cassandra作为一个分布式NoSQL数据库系统,其核心功能模块可大致分为三大部分:客户端协议解析、集群Gossip协议以及数据存储。 1. **客户端协议解析**:这部分处理Cassandra与外部客户端之间的通信。当前版本中,...

    broker:Streamr Network的功能齐全的代理节点实现。 通过Apache Cassandra支持数据持久性,并支持MQTT,WebSockets和HTTP的外部协议

    使用Apache Cassandra支持数据的长期持久性。 目录 安装 先决条件是 14.x和npm版本&gt;=6.14 。 要安装流媒体经纪人: npm install streamr-broker --global 跑 将代理节点作为完整Streamr堆栈的一部分运行很方便。 ...

    Golang-REST-HTTP-API-example:使用Gosql(https)使用带有Cassandra数据库的标准库在Golang上编写的REST API应用程序示例

    REST API示例 服务具有配置文件,其中包含: 服务端口监听 Cassandra服务器的地址 键空间名称。 如果不存在这样的密钥空间,则应用程序将创建带有必要表的新密钥空间。 外部依存关系: : 日志将写入标准输出。 ...

    CassandraMonitor-源码.rar

    3. **数据采集和处理**:如何定期收集Cassandra节点的性能指标,如CPU使用率、内存消耗、磁盘I/O等,并进行聚合和分析。 4. **报警逻辑**:当特定指标超过预设阈值时,如何触发报警并通知管理员。 5. **图形化界面**...

    springboot项目最详细示例

    3. **内嵌服务器**:Spring Boot 可以内嵌 Tomcat 或 Jetty 服务器,这样开发者无需额外部署到外部服务器,只需运行主类即可启动应用。 4. **健康检查与监控**:Spring Boot Actuator 提供了健康检查、指标暴露、...

    spring boot 2.1.1代码示例

    3. **内嵌Web服务器**:Spring Boot支持内嵌Tomcat、Jetty或Undertow等Web服务器,使得应用程序可以直接作为独立的可执行jar运行,无需额外部署到外部服务器。 4. **健康检查与Actuator**:Spring Boot Actuator...

    mysql总结超详细

    - **1.4.2 多实例MySQL启动与关闭方法示例** - 对于每个实例,使用类似的方法启动服务。 - 关闭时,需指定具体的实例名称或端口号。 #### 1.5 生产环境关闭MySQL的命令 在生产环境中,应避免使用强制命令关闭...

    Nosql非关系型数据库-安装vmware、Cnetos7.0.pptx

    VMware是一款广泛使用的虚拟机软件,允许我们在一台物理机器上运行多个独立的操作系统实例。在VMware的官方网站(https://www.vmware.com/cn.html)上可以下载到适合您系统的最新版本。安装过程通常包括以下步骤: 1...

    lagom-scala-sbt-standalone:构建Lagom Scala项目以在Lightbend Production Suite(aka ConductR)外部运行的基本示例

    Lagom-scala-sbt-standalone 构建一个Lagom项目(在Scala中)以在Lightbend Production Suite(aka ConductR)之外运行的基本示例。 它最初是从lagom-scala模板( sbt new lagom/lagom-scala.g8 )创建的,具有以下...

    sqoop2-1.99.7 documentation 英文文档

    - **1.1.6 初始化存储库**:Sqoop 使用一个外部存储库来存储作业和用户信息。 - **1.1.7 服务器生命周期管理**:了解如何启动、停止和管理 Sqoop 服务器。 - **1.2 客户端安装**:客户端可以安装在集群中的多个...

    Python库 | onyx.datafeeds-2.1.5-py3-none-any.whl

    在IT行业中,Python是一种广泛使用的高级编程语言,以其简洁、易读的语法和丰富的库生态系统而闻名。在处理数据和构建应用程序时,Python库扮演着至关重要的角色。本篇文章将详细探讨"onyx.datafeeds-2.1.5-py3-none...

    datum:使用异步非阻塞IO构建流应用程序

    当今存在的许多Web服务都使用多种数据存储,例如hbase , hdfs , cassandra和mysql 。 可能只有很少的外部服务依赖这些数据存储。 通常,会有一个rest API,它将在json或其他某种表示形式之间来回转换java对象。 另...

    spark sql介绍

    - **支持的数据源类型**:包括但不限于JSON、Avro、CSV、Parquet、ORC、JDBC、Cassandra (C*) 和 HBase等。 - **混合不同类型的数据源**:可以轻松地混合使用多种数据源类型。例如,可以通过创建临时表来组合JSON和...

    Mysql性能调优与架构设计

    3. **读写分离**:将读操作与写操作分别指向不同的数据库实例,提高系统整体吞吐量。 4. **分布式数据库**:通过分布式架构,如NewSQL或NoSQL,处理大规模数据。例如,Google的Spanner、Facebook的Cassandra等。 5...

Global site tag (gtag.js) - Google Analytics