2013-11-11

SSDB 1.6.6 稳定版发布, 支持 hclear/zclear

Views: 45194 | 16 Comments

SSDB 1.6.6 稳定版已经发布了, 这个版本主要的改动如下:

  • 支持 hclear/zclear 命令, 用于清除单个 hashmap/zset.
  • 采用多线程, 写操作和 scan 等可能慢的读操作都放在线程池中执行.

SSDB 是一个高性能的 NoSQL 数据库, 使用 LevelDB 作为存储引擎, 支持 hashmap/zset 等丰富的列表(集合)数据结构.

Related posts:

  1. SSDB – 支持 zset 的 LevelDB 服务器
  2. SSDB 采用里程碑式版本发布机制
  3. LevelDB 服务器 SSDB 支持主从(master-slave)同步了!
  4. SSDB 支持 Snappy 压缩了
  5. SSDB 支持 TTL 过期机制
Posted by ideawu at 2013-11-11 10:14:17 Tags: ,

16 Responses to "SSDB 1.6.6 稳定版发布, 支持 hclear/zclear"

  • hsize命令好像不准确?这是一台机器上运行的结果:
    ssdb 127.0.0.1:9500> hclear ss_table
    0
    (0.071 sec)
    ssdb 127.0.0.1:9500> hsize ss_table
    1080
    (0.001 sec) Reply
    @change: 应该是你的db出问题了,请用 hfix ss_table 修复一下。注意,不要使用 kill -9 停止进程。 Reply
    @ideawu: 你好, hsize不准确的问题, 是否只有hclear可能触发啊? Reply
  • 您好, hclear的删除效率是怎么样呢?我在用ssdb.request("hclear", key)命令对一个100w条数据的hashmap进行删除时,很慢,大约用了几分钟,cpu占用很高;是我哪里有问题还是说本来这个命令效率就不高? 我业务中需要立即删除一个hashmap,然后重写数据;如果hclear很慢 能不能考虑增加rename功能,这样可以改名之后慢慢删? Reply
    @tode: 你好, hclear 是一个维护时使用的命令, 可能会导致性能问题. 因为实现的原理所限, rename 命令无法提供. 建议你的程序换一个 hname. Reply
  • 大哥你好, 好像用redis客户端, 没有对应的hclear的api呀. 用redis客户端的话, 就无法删除SSDB里的hash结构了! 用redis->del(a_hash_type_key); 是无法删除这个key的哦! Reply
    @passby: 没错, 用 redis 的 del 命令无法删除整个 hash. 这种情况只能换 ssdb 的 api. Reply
  • @ideawu

    有没有想过或者测试SSDB+DFS的?
    用DFS搞定存储的容量扩展问题 Reply
    @ruochen: ssdb-cluster 是未来一个长期计划, 我会去调研一下 DFS. Reply
  • 请教下可以像关系数据库join操作吗 Reply
    @itlu: Hi, 请问你使用 SSDB, 类似关系数据库 join 操作的需求的出发点是什么呢? Reply
    @ideawu: 您好,想使用它代替mysql,因为mysql在选择性很小的列上索引效果不好,比如性别,还有个问题mysql组合索引的字段有个顺序问题,我有个需求是分类信息,有些自定义字段是用户自己添加的,所以不能提前设置好组合索引,比如二手分类,后期用户添加了一个物品重量weight自定义关联字段,这个字段会做为筛选条件,比如select * from info inner join define on info.id=define.id where define.weight>100 这样的话就不会使用索引,所以想看看SSDB能不能解决这样的问题。 Reply
    @itlu: 这种情况对于SSDB是没有问题的, 而且能做得很好. MySQL的数值类型索引就是对应SSDB的一个zset, 后期用户新添加了一个weight自定义字段, 你就新建立一个zset(只需要往这个zset写即可自动创建), id对应weight. 查询时根据weight范围从这个zset中找出id列表, 然后就可以用id列表批量获取info了. Reply
    @ideawu: 谢谢,看来可以尝试下了,再问下可以创建多个zset组合查询吗?例如mysql里where 条件1 and 条件2 and 条件3 这样 Reply
    @itlu: 组合查询还不支持.
  • 支持批量删除后,可以应用的地方就更多了。多谢作者 Reply

Leave a Comment