scan 命令和 keys的区别
首先我们先说说keys命令
KEYS * 匹配数据库中所有 key 。
KEYS h?llo 匹配 hello , hallo 和 hxllo 等。
KEYS h*llo 匹配 hllo 和 heeeeello 等。
KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo
特殊符号用 \ 隔开
时间复杂度:
O(N), N 为数据库中 key 的数量。
返回值:
符合给定模式的 key 列表。
2025年04月23日
首先我们先说说keys命令
KEYS * 匹配数据库中所有 key 。
KEYS h?llo 匹配 hello , hallo 和 hxllo 等。
KEYS h*llo 匹配 hllo 和 heeeeello 等。
KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo
特殊符号用 \ 隔开
时间复杂度:
O(N), N 为数据库中 key 的数量。
返回值:
符合给定模式的 key 列表。
2025年04月23日
身为互联网大厂的后端开发人员,大家在日常开发中大概率会和 Redis 打交道。不知道你有没有遇到过这样的困惑:Redis 查询数据速度为何如此之快?它背后又运用了哪些精妙的数据结构?当面对海量数据的有序存储和高效查询时,你是否思考过 Redis 是如何巧妙应对的?今天,咱们就一起来探索 Redis 底层实现的 “秘密武器”—— 跳跃表。
2025年04月23日
各位程序员老铁们,欢迎来到 Redis 吐槽大会!今天咱们要吐槽的「摸鱼选手」叫慢查询 —— 这货表面上是条普通命令,背地里却能让你的 Redis 分分钟变成「龟速数据库」。想知道它是怎么搞破坏的?跟着我边笑边学,看完保准你能对着慢查询大喊一声:"退!退!退!"
啥是慢查询?简单来说,就是执行时间超过你设置的「摸鱼警戒线」的命令。比如你在redis.conf里写了slowlog-log-slower-than 1000(1 毫秒),结果某个命令居然花了 3 毫秒才跑完 —— 恭喜你,成功捕获一只慢查询!这货会被乖乖记进慢查询日志,你可以用slowlog get把它揪出来批斗。
2025年04月23日
在当前的网络安全环境中,漏洞扫描已经成为企业安全防御的第一道防线。本实战将带你一步步搭建一个基于 Linux 的自动化漏洞扫描平台,整合 OpenVAS(Greenbone)、PostgreSQL 以及 Redis,实现一站式漏洞检测、数据存储和结果管理。
2025年04月23日
场景还原:
凌晨3点,你突然收到报警——Redis响应时间突破1秒!
2025年04月23日
熟悉Redis的人都知道,它是单线程的。因此在使用一些时间复杂度为O(N)的命令时要非常谨慎。可能一不小心就会阻塞进程,导致Redis出现卡顿。
有时,我们需要针对符合条件的一部分命令进行操作,比如删除以test_开头的key。那么怎么获取到这些key呢?在Redis2.8版本之前,我们可以使用keys命令按照正则匹配得到我们需要的key。但是这个命令有两个缺点: