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

缓存cassandra三

阅读更多
续二的类
/**
* 从cacheConfig.xml中读取配置文件.
*/
public final class CacheConfigReader
{

    /** 取得Cassandra集群服务器.
     * @return String[] [返回类型说明]
     */
    public String[] getCassandraClient()
    {
        if (null != sServerList)
        {
            return sServerList.clone();
        }
        return null;
    }

    /** 取得默认Keyspace.
     * @return String 默认Keyspace
     */
    public String getDefaultKeyspace()
    {
        return sDefaultKeyspace;
    }

    /** 取得默认ColumnFamily.
     * @return String 默认ColumnFamily
     */
    public String getDefaultColumnFamily()
    {
        return sDefaultColumnFamily;
    }

    /** 根据属性名从绑定中取得属性值.
     * @param aPropertyName 属性名
     * @return 从绑定中取得的属性值
     */
    public String getPropertyFromBinding(String aPropertyName)
    {
        return (String) sDataBindingMap.get(aPropertyName);
    }

    /** 解析缓存服务器列表.
     * @param aXpath Xpath
     * @param aDoc 文档对象
     * @return String[] [返回类型说明]
     * @throws XPathExpressionException XPathExpressionException
     */
    private String[] readServerList(XPath aXpath, Document aDoc)
        throws XPathExpressionException
    {
        XPathExpression pathExpression = aXpath.compile("//servers/list/value");
        NodeList servers = (NodeList) pathExpression.evaluate(aDoc,
                XPathConstants.NODESET);
        String[] serverList = new String[servers.getLength()];
        for (int i = 0; i < servers.getLength(); i++)
        {
            serverList[i] = servers.item(i).getTextContent();
        }
        return serverList;
    }

    /** 解析默认Keyspace.
     * @param aXpath Xpath
     * @param aDoc 文档对象
     * @return String 默认Keyspace
     * @throws XPathExpressionException XPathExpressionException
     */
    private String readDefaultKeyspace(XPath aXpath, Document aDoc)
        throws XPathExpressionException
    {
        XPathExpression pathExpression = aXpath.compile("//defaultKeyspace");
        Node node = (Node) pathExpression.evaluate(aDoc, XPathConstants.NODE);

        return node.getTextContent();
    }

    /** 解析默认ColumnFamily
     * @param aXpath Xpath
     * @param aDoc 文档对象
     * @return String 默认ColumnFamily
     * @throws XPathExpressionException XPathExpressionException
     */
    private String readDefaultColumnFamily(XPath aXpath, Document aDoc)
        throws XPathExpressionException
    {
        XPathExpression pathExpression =
            aXpath.compile("//defaultColumnFamily");
        Node node = (Node) pathExpression.evaluate(aDoc, XPathConstants.NODE);
        return node.getTextContent();
    }

    /** 解析DataBindings.
     * @param aXpath Xpath
     * @param aDoc 文档对象
     * @return Map<String,String> DataBinding Map
     * @throws XPathExpressionException XPathExpressionException
     */
    private Map<String, String> readDataBindingMap(XPath aXpath, Document aDoc)
        throws XPathExpressionException
    {
        Map<String, String> dataBindingMap = new HashMap<String, String>();
        XPathExpression pathExpression =
            aXpath.compile("//dataBindings/property");
        NodeList nodeList = (NodeList) pathExpression.evaluate(aDoc,
                XPathConstants.NODESET);
        String name = null;
        String value = null;
        for (int i = 0; i < nodeList.getLength(); i++)
        {
            name = nodeList.item(i)
                    .getAttributes()
                    .getNamedItem("name")
                    .getNodeValue();
            value = nodeList.item(i)
                    .getAttributes()
                    .getNamedItem("value")
                    .getNodeValue();
            dataBindingMap.put(name, value);
        }
        return dataBindingMap;
    }
}
分享到:
评论

相关推荐

    cassandra 学习

    - **内存表**:Cassandra使用内存表来缓存最新的写入数据,以提高写入性能。 - **数据缓存**:用于缓存经常访问的数据,从而减少磁盘访问。 #### 六、客户端连接与请求处理 **客户端连接与请求处理**是Cassandra...

    ycsb cassandra 压力测试工具

    - 根据测试结果调整 Cassandra 配置,如副本因子、内存分配、缓存策略等,优化性能。 - 调整 YCSB 参数,如并发线程数、请求模式(读多还是写多)、数据量等,以模拟更真实的场景。 总结,YCSB Cassandra 压力...

    Cassandra架构与应用

    Cassandra的存储机制基于SSTable(Sorted String Table)和Memtable,前者是一种持久化存储格式,用于存储磁盘上的数据,后者则是在内存中缓存新写入的数据,达到一定条件后刷新至SSTable。这一机制确保了高写入性能...

    cassandra权威指南(中文)

    - **压缩与缓存**:探讨Cassandra中数据的压缩方式及缓存机制,提高数据读取速度。 #### 八、Cassandra的应用场景与案例分析 - **应用场景**:列举适合使用Cassandra的业务场景,如物联网、社交网络、大数据平台等...

    Cassandra技术详解 操作与测试报告

    - 为了提高读取性能,Cassandra内置了一种缓存机制,可以将常用数据存储在内存中,从而减少磁盘I/O操作。 3. **数据定位优化** - 通过哈希算法,Cassandra能够快速定位到具体的数据,大大提高了数据检索的速度。 ...

    Cassandra文档

    - 配置文件:`cassandra.yaml`是主要的配置文件,包含节点间通信、数据存储、缓存策略等设置。 - 扩展与缩容:Cassandra允许在线添加或移除节点,无需停机。 3. **数据模型与查询** - 键空间(Keyspace):类似...

    cassandra集群配置

    在 Cassandra 中,需要准备 3 台或以上的计算机,并且每台计算机需要安装好 Java 运行时环境。下载 Cassandra 二进制发行包,挑选其中的一台机开始配置。展开 Cassandra 发行包,并进入 conf 目录,修改 cassandra....

    Cassandra权威指南(中文版)

    - **缓存机制**:Cassandra提供了多种类型的缓存,包括行级缓存、键级缓存等。 - **压缩技术**:通过对数据进行压缩减少磁盘占用空间和I/O操作次数。 ### 三、Cassandra实际应用与最佳实践 1. **数据建模**: -...

    Cassandra使用手册

    特别需要注意的是,数据文件目录、提交日志目录和缓存文件夹路径需要明确指定。在集群模式下,每个节点都必须正确配置cassandra.yaml文件中的参数,尤其是cluster_name(集群名)和seeds(种子节点)这两个参数要...

    Cassandra在Windows上安装及使用方法

    3. **缓存目录**:更改`saved_caches_directory`从`/var/lib/cassandra/saved_caches`至`D:\cassandra\saved_caches`。 4. **日志文件路径**:将`log4j.appender.R.File`从`/var/log/cassandra/system.log`更改为`D:...

    apache-cassandra-2.0.1-bin.tar

    三、Cassandra 安装与配置 1. 解压下载的`apache-cassandra-2.0.1`压缩包到服务器上,例如 `/opt` 目录下。 2. 修改配置文件 `conf/cassandra.yaml`,配置数据目录、种子节点、端口等参数。 3. 初始化数据目录,创建...

    Cassandra个人学习笔记总结

    3. **可调整的压缩策略**:Cassandra 1.0引入了一种创新的压缩算法,能够针对每一列独立进行压缩,这不仅增强了数据的压缩效果,还提供了更大的灵活性。 4. **Windows系统服务支持**:现在,Cassandra可以作为...

    存储数据(cassandra)

    例如,调整堆大小、开启JVM的直通内存、优化数据缓存策略等,都能显著提升Cassandra的性能。 ### 5. CQL与API Cassandra查询语言(Cassandra Query Language,简称CQL)是面向用户的SQL-like接口,简化了数据操作...

    php使用cassandra用到的phpcassa-0.1

    8. **性能优化**:理解Cassandra的索引、缓存和批处理等特性,有助于提高phpcassa的性能。 9. **版本兼容性**:确保phpcassa版本与运行的Cassandra集群版本兼容,避免因版本差异导致的问题。 10. **安全性**:使用...

    Cassandra 分布式数据库详解

    Cassandra 是一种分布式数据库系统,特别设计用于处理大规模数据,具备高可用性和可扩展性。在深入了解 Cassandra 之前,理解其配置文件 `storage-config.xml` 中的参数至关重要,因为这些参数直接影响到系统的性能...

    Cassandra nosql

    3. **无现有产品能满足的特定需求**:在Cassandra出现之前,市场上缺少能同时满足大规模数据存储、高并发访问以及低成本运维需求的产品。 ### 设计目标 - **高可用性**:Cassandra采用分布式架构,即使部分节点...

    apache-cassandra-3.5-bin.tar

    3. **配置Cassandra**:修改`conf/cassandra.yaml`配置文件,设置集群名称、种子节点、数据存储路径等参数。 4. **启动Cassandra**:运行`bin/cassandra`脚本启动服务,通过`nodetool`检查节点状态。 5. **创建...

    Dynamo-and-Cassandra-paper

    Cassandra 则通过预写日志(Write Ahead Log, WAL)和内存数据缓存进一步提升了写入速度。同时,两者的分布式特性使得它们能够线性扩展,处理PB级别的数据。 在实际应用中,Dynamo 常用于亚马逊的各种内部服务,如...

    2019云栖大会Cassandra一致性详解-201909.pdf

    - **Hinted Handoff**:当节点不可用时,Cassandra会缓存待写入的数据,待节点恢复后进行传递,以保证最终一致性。 - **Read Repair**:读操作后发现数据不一致时,会自动尝试修复。 - **Manual Repair**:用户...

Global site tag (gtag.js) - Google Analytics