首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

cassandra内部API应用三2010-07-07

2012-10-08 
cassandra内部API使用三2010-07-07/** 根据Key从缓存删除缓存数据.** @param aKeyArea Key*/public void r

cassandra内部API使用三2010-07-07
    /** 根据Key从缓存删除缓存数据.
     *
     * @param aKeyArea Key
     */
    public void remove(String aKeyArea)
    {
        CassandraClientPool pool = CassandraClientPoolFactory.INSTANCE.get();
        // 取得客户端(群集服务器)
        CassandraClient client = null;
        try
        {
            // 从群集服务器获得一个客户端
            client = pool.borrowClient(mCassandraClient);

            // Keyspace
            Keyspace keyspace =
                client.getKeyspace(mDefaultKeyspace);
            // ColumnPath
            ColumnPath columnPath = new ColumnPath(mDefaultColumnFamily);

            // 从缓存中清除
            keyspace.remove(aKeyArea, columnPath);

            // 为确保finally中能正确释放client,此处需重获取一次
            client = keyspace.getClient();
        }
        catch (Exception e)
        {
            sLog.error("根据Key从缓存删除缓存数据时出错。");
            sLog.error(e);
        }
        finally
        {
            // finally中释放client
            releaseClient(pool, client);
        }
    }

    /**根据Key和column从缓存删除缓存数据.
     * @param aKeyArea Key
     * @param aName column
     */
    public void remove(String aKeyArea, String aName)
    {
        CassandraClientPool pool = CassandraClientPoolFactory.INSTANCE.get();
        // 取得客户端(群集服务器)
        CassandraClient client = null;
        try
        {
            // 从群集服务器获得一个客户端
            client = pool.borrowClient(mCassandraClient);

            // Keyspace
            Keyspace keyspace =
                client.getKeyspace(mDefaultKeyspace);
            // ColumnPath
            ColumnPath columnPath = new ColumnPath(mDefaultColumnFamily);
            columnPath.setColumn(bytes(aName));

            // 从缓存中清除
            keyspace.remove(aKeyArea, columnPath);

            // 为确保finally中能正确释放client,此处需重获取一次
            client = keyspace.getClient();
        }
        catch (Exception e)
        {
            sLog.error("根据Key和column从缓存删除缓存数据时出错。");
            sLog.error(e);
        }
        finally
        {
            // finally中释放client
            releaseClient(pool, client);
        }
    }

热点排行