Home  >  Article  >  Database  >  SSDB 增加 zrank, zrange 命令

SSDB 增加 zrank, zrange 命令

WBOY
WBOYOriginal
2016-06-07 16:32:431994browse

Zrank/zrrank 命令是 zset 数据结构的一个特有命令, 用于求某个元素在集合中的排序名次. 对于 Redis 来说, 数据都在内存里, 而且是排序的, 所以求元素的排名(indexOf)可以很快, 但因为 SSDB 的数据主要在硬盘中, 所以, 求排序名次可不是那么简单. 基于这个考

Zrank/zrrank 命令是 zset 数据结构的一个特有命令, 用于求某个元素在集合中的排序名次. 对于 Redis 来说, 数据都在内存里, 而且是排序的, 所以求元素的排名(indexOf)可以很快, 但因为 SSDB 的数据主要在硬盘中, 所以, 求排序名次可不是那么简单.

基于这个考虑, SSDB 原来并不支持 zrank 命令. 但 zrank 命令的需求还是有的, 经过考虑, 所以在 1.6.3 版本中增加了 zrank 命令.

不过, 使用这个命令应该是在离线环境中, 而不能是在线上生产环境中, 因为 zrank 的实现是通过遍历数据(相当于全表扫描).

另外, SSDB 还增加了 zrange/zrrange 命令, 相当于数组的 slice 操作或者 MySQL 的 limit 操作. 和 zrank 类似, zrange 也是通过表扫描来实现的, 只要 offset 越大, 速度就越慢. 所以, 在 offset 小于 200 时, 可以在线上生产环境使用, 否则最好是离线环境中使用.

Related posts:

  1. SSDB 的 C++ 客户端接口
  2. SSDB与Redis命令对比
  3. SSDB 支持 TTL 过期机制
  4. SSDB 已经支持在线备份功能!
  5. LevelDB 服务器 SSDB 支持主从(master-slave)同步了!

SSDB 增加 zrank, zrange 命令 你现在看的文章是: SSDB 增加 zrank, zrange 命令

Linode VPS - 美国虚拟主机 | IT牛人博客聚合网站

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn