当前位置: 首页 > news >正文

redis 命令大全整理

http://doc.redisfans.com/
原网址

Redis 命令分类

Key(键)

Key(键)命令

  • exists/del/keys/type/scan
  • object/move/dump/migrate
  • ttl/pttl/persist/expireat/pexpireat/expire/pexpire
  • rename/renamenx
  • sort/randomkey/restore
exists
语法:exists key [key ...] 检查一个或多个 key 是否存在,返回存在的 key 数量,时间复杂度为 o(n),n 为检查的 key 数量。
示例:
redis> exists name
(integer) 1
redis> exists name type
(integer) 2del
语法:del key [key ...] 删除单个列表、集合、有序集合或哈希表类型的 key ,时间复杂度为 o(m),m 为以上数据结构内的元素数量。
示例:
redis> del name
(integer) 1
redis> del name type website
(integer) 3keys
语法:keys pattern 查找所有符合给定模式的 key,模式支持通配符(*、? 等),返回匹配的 key 列表,时间复杂度为 o(n),n 为数据库中 key 的数量。
示例:
redis> keys n*
1) "name"
2) "nickname"type
语法:type key 返回 key 的值类型,如 string、hash、list 等,时间复杂度为 o(1)。
示例:
redis> type name
stringscan
语法:scan cursor [match pattern] [count count] 以游标方式迭代数据库中的 key,返回游标和 key 列表,时间复杂度为 o(n),n 为数据库中 key 的数量。
示例:
redis> scan 0
1) "0"
2) 1) "name"2) "type"
object
语法:object subcommand [arguments ...] 查询和操作 key 对应对象的底层实现细节,如内存使用、编码方式等,时间复杂度根据子命令不同而不同。
示例:
redis> object encoding name
"embstr"move
语法:move key db 将 key 移动到指定数据库,返回 1 表示成功,0 表示失败,时间复杂度为 o(1)。
示例:
redis> move name 1
(integer) 1dump
语法:dump key 返回 key 的序列化值,用于数据迁移,时间复杂度为 o(m),m 为 key 对应值的元素数量。
示例:
redis> dump name
"\x80\x04\x95\x03\x00\x00\x00\x00\x00\x00\x00\x8c\x04name\x94."migrate
语法:migrate host port key destination-db timeout [copy] [replace] [keys key ...] 将一个或多个 key 从当前实例迁移到目标实例,时间复杂度为 o(m),m 为 key 对应值的元素数量。
示例:
redis> migrate 192.168.1.100 6379 name 0 5000
okttl
语法:ttl key 返回 key 的剩余过期时间(秒),负值表示 key 不存在或没有过期时间,时间复杂度为 o(1)。
示例:
redis> ttl name
(integer) 300pttl
语法:pttl key 返回 key 的剩余过期时间(毫秒),负值表示 key 不存在或没有过期时间,时间复杂度为 o(1)。
示例:
redis> pttl name
(integer) 300000persist
语法:persist key 移除 key 的过期时间,返回 1 表示成功,0 表示 key 不存在或没有过期时间,时间复杂度为 o(1)。
示例:
redis> persist name
(integer) 1expireat
语法:expireat key timestampkey 设置过期时间戳(秒级时间戳),返回 1 表示成功,0 表示 key 不存在或过期时间未设置,时间复杂度为 o(1)。
示例:
redis> expireat name 1622589600
(integer) 1pexpireat
语法:pexpireat key milliseconds-timestampkey 设置过期时间戳(毫秒级时间戳),返回 1 表示成功,0 表示 key 不存在或过期时间未设置,时间复杂度为 o(1)。
示例:
redis> pexpireat name 1622589600000
(integer) 1expire
语法:expire key seconds 为 key 设置过期时间(秒),返回 1 表示成功,0 表示 key 不存在或过期时间未设置,时间复杂度为 o(1)。
示例:
redis> expire name 300
(integer) 1pexpire
语法:pexpire key milliseconds 为 key 设置过期时间(毫秒),返回 1 表示成功,0 表示 key 不存在或过期时间未设置,时间复杂度为 o(1)。
示例:
redis> pexpire name 300000
(integer) 1rename
语法:rename key newkey 将 key 重命名为 newkey,若 newkey 已存在则覆盖,时间复杂度为 o(1)。
示例:
redis> rename name username
okrenamenx
语法:renamenx key newkey 只有 newkey 不存在时才将 key 重命名为 newkey,返回 1 表示成功,0 表示失败,时间复杂度为 o(1)。
示例:
redis> renamenx name username
(integer) 1sort
语法:sort key [by pattern] [limit offset count] [get pattern [get pattern ...]] [asc|desc] [alpha] [store destination] 对列表、集合或有序集合的元素进行排序,返回排序后的元素列表,时间复杂度为 o(n+m log m),n 为集合中元素数量,m 为返回元素数量。
示例:
redis> sort scores
1) "30"
2) "50"
3) "10"randomkey
语法:randomkey 返回数据库中随机 key,返回随机 key,若数据库为空则返回 null,时间复杂度为 o(1)。
示例:
redis> randomkey
"website"restore
语法:restore key ttl value [replace] 使用序列化值恢复 key,可设置过期时间,时间复杂度为 o(m),m 为 key 对应值的元素数量。
示例:
redis> restore name 300 "\x80\x04\x95\x03\x00\x00\x00\x00\x00\x00\x00\x8c\x04name\x94."
ok

String(字符串)

  • strlen/append
  • bitop/bitcount
  • incr/incrby/decr/decrby/incrbyfloat
  • set/get/mset/mget/setbit/getbit/getset
  • setex/setnx/msetnx/psetex
  • setrange/getrange
strlen
语法:strlen key 获取 key 所储存的字符串值的长度,返回长度值,时间复杂度为 O(1)。
示例:
redis> set name "John"
OK
redis> strlen name
(integer) 4append
语法:append key valuevalue 追加到 key 所存储的字符串值的末尾,返回字符串的新长度,时间复杂度为 O(1)。
示例:
redis> append name " Smith"
(integer) 10
redis> get name
"John Smith"bitop
语法:bitop operation destkey key [key ...] 对一个或多个 key 的二进制位进行位运算,存储结果于 destkey ,返回结果字符串的长度,时间复杂度为 O(N),N 为输入字符串中最大的长度。
示例:
redis> set bitkey1 "\x01"
OK
redis> set bitkey2 "\x02"
OK
redis> bitop or bitkey_or bitkey1 bitkey2
(integer) 1bitcount
语法:bitcount key [start end] 计算 key 所储存的字符串中,值为 1 的比特位的数量,可指定范围,返回计数结果,时间复杂度为 O(N),N 为字符串长度。
示例:
redis> set binary "\x01\x02\x03"
OK
redis> bitcount binary
(integer) 8incr
语法:incr keykey 所储存的值加 1 ,若值不是整数则报错,返回结果值,时间复杂度为 O(1)。
示例:
redis> set count 10
OK
redis> incr count
(integer) 11incrby
语法:incrby key increment 将 key 所储存的值加上指定的 increment ,若值不是整数则报错,返回结果值,时间复杂度为 O(1)。
示例:
redis> set count 10
OK
redis> incrby count 5
(integer) 15incrbyfloat
语法:incrbyfloat key increment 将 key 所储存的值加上指定的浮点数 increment ,返回结果值,时间复杂度为 O(1)。
示例:
redis> set count 10.5
OK
redis> incrbyfloat count 2.3
"12.8"decr
语法:decr keykey 所储存的值减 1 ,若值不是整数则报错,返回结果值,时间复杂度为 O(1)。
示例:
redis> set count 10
OK
redis> decr count
(integer) 9decrby
语法:decrby key decrement 将 key 所储存的值减去指定的 decrement ,若值不是整数则报错,返回结果值,时间复杂度为 O(1)。
示例:
redis> set count 10
OK
redis>

相关文章:

  • libmemcached库api接口讲解四
  • Android锁
  • 【RabbitMQ】路由模式和通配符模式的具体实现
  • Canvas知识框架
  • OPC UA + ABP vNext 企业级实战:高可用数据采集框架指南
  • FlashInfer - SparseAttention(稀疏注意力)只计算部分有意义的注意力连接,而非全部 token 对
  • 文件(文件夹时间戳修改)最后修改时间变更
  • python打卡day25@浙大疏锦行
  • promise的说明
  • Minimum MPDU Start Spacing in A-MPDU
  • Spring Cloud:构建云原生微服务架构的最佳工具和实践
  • WhaleTunnel 信创数据库适配能力全景图:打通国产数据生态的最后一公里
  • 【Linux】shell内置命令fg,bg和jobs
  • 缺乏自动化测试,如何提高测试效率
  • 剖析提示词工程中的递归提示
  • Dockerfile实战:从零构建自定义CentOS镜像
  • UOS专业版上通过源码安装 Python 3.13 并保留系统默认版本
  • 关于并发编程AQS的学习
  • Python 之 Flask 入门学习
  • 计算机图形学之几何(Geometry)
  • 深圳拟出让3宗居住用地,共计用地面积6.77公顷
  • 回望乡土:对媒介化社会的反思
  • 中美发布日内瓦经贸会谈联合声明达成关税共识,外交部回应
  • 阶跃星辰CEO姜大昕:追求智能上限仍是最重要的事,多模态的“GPT-4时刻”尚未到来
  • 印度一战机在巴基斯坦旁遮普省被击落,飞行员被俘
  • 领证不用户口本,还需哪些材料?补领证件如何操作?七问七答