Redis4.x(十三):Redis正确的使用API(命令)

star2017 1年前 ⋅ 779 阅读

Redis 提供了丰富的 API 来操作数据,某些业务需求不只一个 API 可实现,但实现同一功能的不同的 API 在性能上是不一样的。

Redis 是内存级别单线程处理请求,对性能非常在乎。正确的使用 API 就显得尤为重要。

衡量 API 算法性能的一个很重要的指标是时间复杂度 O(N),Redis 命令官方档都明确给出了 API 命令的时间复杂度。

时间复杂度
图片来源:https://github.com/sf-wdi-31/algorithm-complexity-and-big-o

时间复杂度 O(N):N 是哈希的大小(size)。

例如在大数据量时,使用了时间复杂度为 O(N) 的命令,可能会遍历所有元素很可能造成服务阻塞,对于高并发环境下是难以接受的,对于使用那些时间复杂度大于 O(N) 的命令要特别谨慎。

Redis 命令时间复杂度是 O(N) 的有:HGETALL, HKEYS , KEY * , HVALS , FLUSHALL, FLUSHDB等。

可使用慢日志来记录 Redis 服务器中处理的慢命令,查看那些操作拖慢了 Redis 服务的响应速度。

更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: