大型集的SSCAN与SMEMBERS资源使用情况

卢卡斯(Lucas S.)

我有一个很大的redis SET(超过6M个条目),我需要遍历所有条目并对每个条目进行其他一些redis操作(主要是使用基于原始条目的键在redis Sorted Set中调用ZCARD)。

哪种方式(就资源而言)是遍历SET的所有条目的最有效方式?使用SSCAN或执行SMEMEBERS调用。

帕斯卡·勒·梅勒

SMEMBERS通过一次操作返回SET中的所有成员。此操作的持续时间与SET中的项目数成正比(时间复杂度:O(N))。

在此操作过程中,您的实例将不会响应任何其他请求。

SSCAN允许您遍历SET中的所有项目。时间复杂度是固定的(O(1)),具体取决于每次调用时获得的项数(此数字由COUNT参数定义)。SSCAN的总费用可能与SMEMBERS的费用相同,或者可能更高,因为您必须打多个电话。但是它将允许在两个调用之间处理其他请求,因此您的Redis实例不会显得无响应。

所有这些都是纯理论。要获得明确的建议,您应该测试和测量,这应该很容易做到。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Mac上跟踪资源使用情况?

Docker-compose:显示容器资源使用情况

前端中的Web API资源使用情况

停止的Docker容器的资源使用情况

静态Web服务器的资源使用情况

资源中的Android RandomAccessFile使用情况

监视Kubernetes节点上的pod资源使用情况

按属性对绘图资源的使用情况

ORACLE数据库资源使用情况

是否循环播放-系统资源使用情况

Linux终端单命令资源使用情况

终端单命令资源使用情况

SSH远程执行程序资源使用情况?

大型2D静态数组和向量向量的内存使用情况

带大型过滤器的TensorFlow Conv2d的内存使用情况

两种表单的性能和资源使用情况,带切换案例的一种表单的性能和资源使用情况

如何使用ps找出总的内存资源使用情况?

使用Go客户端获取Kubernetes中Pod的当前资源使用情况

使用管道和此处字符串的资源使用情况

在Windows XP上分析和跟踪资源使用情况的工具

这些获取资源使用情况的方法有什么区别?

Gnome资源监视器报告的C ++程序中的内存使用情况:混淆

AWS 按资源标签获取成本和使用情况

如何通过API获取Kubernetes资源信息(总体CPU和内存使用情况)

如何通过kubernetes go-client获取pods资源使用情况?

如何随着时间的推移跟踪Ubuntu上的资源使用情况?

有没有办法跟踪扩展的资源使用情况?

如何在Service Fabric中的分区级别上衡量资源使用情况?

在运行BigQuery作业之前确定资源使用情况