zoukankan      html  css  js  c++  java
  • Cassandra--设置数据保留时间

    在Cassandra中,可以设置列的保留时间(Time To Live),当该列超过保留时间后,会下一次读取中被墓碑(Tombstone)标记,然后保留一个垃圾回收周期(表属性gc_grace_seconds设置),最后被压缩进程或修复进程自动移除。

    1、如果创建表时指定default_time_to_live属性,则表中所有列列使用指定值,否则使用默认值default_time_to_live=0。
    2、如果插入记录时指定TTL,则插入操作所有涉及的列的保留时间为指定TTL值(从插入操作执行开始计算)
    3、如果更新记录时指定TTL,则更新操作设计到的列的保留时间未指定TTL值(从更新操作执行开始计算)

    演示Demo:

    ===================================
    ## 在创建表时设置表级别默认保留时间
    CREATE TABLE users
    (
        user_name text primary key,
        user_psw text,
        user_info text,
    ) WITH default_time_to_live=300;
    
    
    ===================================
    ## 插入记录时设置保留时间
    INSERT INTO users(user_name, user_psw,user_info)
    VALUES ('cbrown', 'ch@ngem4a','this is cbrown') 
    USING TTL 600;
    
    
    ===================================
    ## 更新记录时设置保留时间
    UPDATE users USING TTL 600 
    SET user_psw = 'ch@ngem4a'
    WHERE user_name = 'cbrown';
    
    
    ===================================
    ## 查看列的保留时间
    SELECT 
    user_name,
    user_psw,
    TTL(user_psw) AS user_psw_ttl,
    user_info,
    TTL(user_info) AS user_info_ttl
    from users

    参考资料:
    https://docs.datastax.com/en/archived/cql/3.1/cql/cql_using/use_expire_c.html
    https://docs.datastax.com/en/archived/cql/3.1/cql/cql_reference/tabProp.html#tabProp__cql-default-ttl

  • 相关阅读:
    奉上简单的.Net后端开发模板
    C#之委托如此简单
    cordova环境搭建
    Linux实现免密码登录
    RHEL7网络管理NetworkManager和nmcli指令
    RHEL7中配置本地YUM软件源
    RHEL7 网口绑定Network Teaming
    Linux工具之top
    Linux工具之ss
    linux工具之lsof
  • 原文地址:https://www.cnblogs.com/gaogao67/p/10565081.html
Copyright © 2011-2022 走看看