Redis: 命令速查(自用)
keys * # 查看当前库所有 key
exists <key> # 判断某个 key 是否存在
type <key> # 查看 key 的类型
del <key> # 删除指定的 key 数据
unlink <key> # 根据 key 选择非阻塞删除(仅将 key 从 keyspace 元数据中删除, 真正删除在后续异步删除)
expire <key> <seconds/miliseconds> # 为给定的 key 设置过期时间 秒/毫秒
ttl <key> # 查看 key 还有多少秒过期 => -1永不过期; -2已过期
select <base_no> # 切换数据库
dbsize # 查看当前数据库 key 的数量
flushdb # 清空当前库
flushall # 通杀全部库
String
字符串类型
二进制安全, 可包含任何数据, value 最大容量 512M
https://redis.io/docs/latest/commands/?group=string
set <key> <value> # 添加键值对
get <key> # 查询对应键值
append <key> <value> # 将给定的 value 追加到原值的末尾(value 数量不变)
strlen <key> # 获得键对应值的长度
setnx <key> <value> # 只有在 key 不存在时, 设置key的值
incr <key> # 将 key 中存储的数字值 +1, 只对数字值操作, 如果为空, 新增值为1
decr <key> # ... -1, ...-1
incrby/decrby <key> <step_size> # 将 key 中存储的数字值增减, 自定义步长
mset <key1> <value1> <key2> <value2> ... # 同时设置一个/多个 key-value 对
mget <key1> <key2> ... # 同时获取...
msetnx <key1> <value1> <key2> <value2> ... # 同时设置一个/多个 key-value 对, 当且仅当给定 key 都不存在时
setrange <key> <start_pos> <value> # 用 value 覆写 key 所存储的字符串值, 从起始位置开始(索引从0开始)
List
列表类型
- 数据结构(双向链表), 对两端的操作性能很高, 通过索引下标的操作中间节点性能差
- 链表 + ziplist = quicklist
lpush/rpush <key> <value1> <value2> ... # 从左边/右边插入一个/多个值
lpop/rpop <key> # 从左边/右边吐出一个/多个值, 值光键亡
rpoplpush <key1> <key2> # 从 key1 左边/右边吐出一个值, 插到 key2 右边
lrange <key> <strat_pos> <end_pos> # 按照索引下标获取元素(从左到右) 范围获取
lrange <key> <index> # 按照索引下标获取元素 单个获取
llen <key> # 获取列表长度
linsert <key> before <value> <new_value> # 在 value 后插入一个 new_value 值
lrem <key> <del_count> <value> # 从左边删除 del_count 个value(从左到右)
lset <key> <index> <value> # 将列表 key 下标为 index 的值替换为 value
Set
无序集合类型
sadd <key> <value1> <value2> ... # 将一个/多个 member 元素加入到集合 key 中, 已经存在的元素被忽略
smember <key> # 取出该集合的所有值
smember <key> <value> # 判断集合 key 是否含有该 value 值 => 1有; 0无
scard <key> # 返回该集合的元素个数
srem <key> <value1> <value2> # 删除集合中的元素(可以多个)
spop <key> <del_count> # 随机移除并获取 指定集合中 一个/多个元素, 适合不允许重复中奖的场景
srandmenber <key> <take_out_count> # 随机从该集合中取出 take_out_count个值, 不会从集合中删除
smove <source_key> <dest_key> <value> # 把集合中一个值从一个集合移动到另一个集合
sinter <key1> <key2> # 返回两个集合的 交集 元素
sunion <key1> <key2> # 返回两个集合的 并集 元素
sdiff <key1> <key2> # 返回两个集合的 差集 元素
Hash
哈希表类型
string类型的field、value 映射表, 适合用于存储对象
hset <key> <field> <value> # 给 key 集合中的 field 键赋值 value
hget <key> <field> # 从 key 集合 field 中取出 value
hmset <key> <field1> <value1> <field2> <value2> # 批量设置 hash 的值
hexists <key> <field> # 查看哈希表 key 中, 给定域 field 是否存在
hkeys <key> # 列出该 hash 集合的所有 field
hvals <key> # 列出该 hash 集合中所有 value
hincrby <key> <field> <increment> # 为哈希表 key 中的域 field 的值加上增量 increment
hsetnx <key> <field> <value> # 将哈希表 key 中的域 field 的值设置为 value, 当且仅当域 field 不存在
ZSet/Sorted Set
有序集合类型
zadd <key> <score1> <value1> <score2> <value2> ... # 将一个/多个 member 元素及其score值加入到有序集 key 中
zrange <key> <start_index> <end_index> [WITHSCORES] # 返回有序集 key 中, 下标在 [start_index, end_index] 之间的元素, 带 WITHSCORES, 可以让分数一起和值返回到结果集
zrangebyscore <key> <min_score> <max_score> [WITHSCORES] [<limit> <offset> <count>] # 返回有序集 key 中, 所有 score 值介于 [min_score, max_score] 之间的成员
zrevrangebyscore key <key> <min_score> <max_score> [WITHSCORES] [<limit> <offset> <count>] # 同上, 改为从大到小排列
zincrby <key> <increment> <value> # 为元素的 score 加上增量
zrem <key> <value> # 删除该集合下, 指定值的元素
zcount <key> <min_score> <max_score> # 统计该集合, 分数区间内的元素个数
zrank <key> <value> # 返回该值在集合中的排名, 从0开始
Bitmaps
setbit <key> <offset> <value> # 设置 bitmaps 中的某个偏移量(从0开始)的值 0/1
getbit <key> <offset> # 获取 bitmaps 中某个偏移量的值
bitcount <key> [<start_offset> <end_offset>] # 统计字符串中被设置为 1 的 bit 数量
bittop and/or/not/xor <dest_key> <key1> <key2> # 符合操作中(交/并/非/异或), 结果保存在 dest_key 中, 操作对象 key1、key2
HyperLoglog
pfadd <key> <value1> [<value2> <value3> ...] # 添加指定元素到 HyperLoglog中: 成1; 否0
pfcount <key1> [<key2> <key3> ...] # 计算 HLL 的近似基数, 支持多个 HLL
pfmerge <dest_key> <source_key> [<source_key2> <source_key3> ...] # 内部合并, 结果存储在 dest_key
Geospatial
geoadd <key> <longitude> <latitude> <member> [<longitude2> <latitude> <member2> ...]
# 添加地理位置 <精度> <纬度> <名称>
# ① 坐标位置超出指定范围, 会返回错误
# ② 无法二次添加已成功添加的数据
geopos <key> <member> [<member2> <member3> ...] # 添加指定地区的坐标值
geodist <key> <member1> <member2> [m|km|ft|mi] # 获取2个位置的直线距离 米(默认)|千米|英里|英尺
georadius <key> <longitude> <latitude> radius [m|km|ft|mi] # 以给定经纬度为中心, 找出某一半径内的元素
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)