Redis 命令大全

文章目录

Redis 提供了大量的命令来操作其五种基本数据结构(字符串、哈希表、列表、集合和有序集合)以及进行数据库管理。以下是一些 Redis 常用命令的大致分类,由于篇幅限制,这里不可能列出所有命令的详细信息,请参阅官方文档以获取最新和最全的命令列表。

启动与连接

  • 启动服务

    bash 复制代码
    redis-server [配置文件路径]     # 指定配置文件启动
    redis-server &                    # 以后台模式启动
  • 客户端连接

    bash 复制代码
    redis-cli                        # 连接本地Redis服务器
    redis-cli -h 主机名 -p 端口号    # 远程连接Redis服务器
    redis-cli -a 密码                # 使用密码连接

Key(键)相关命令

  • 操作Key
    • DEL key:删除指定key。
    • EXISTS key:检查key是否存在。
    • KEYS pattern:查找所有符合给定模式的key。
    • RANDOMKEY:随机返回一个key。
    • RENAME oldkey newkey:重命名key。
    • RENAMENX oldkey newkey:仅当newkey不存在时重命名key。
    • TTL key:获取key的剩余生存时间。
    • PTTL key:获取key的精确剩余生存时间(毫秒)。
    • TYPE key:返回key所存储的值的类型。

String(字符串)

  • 设置与获取
    • SET key value:设置key的值。
    • GET key:获取key的值。
    • APPEND key value:追加值到key对应的字符串末尾。
    • GETRANGE key start end:获取key中指定范围的子字符串。

Hash(哈希)

  • 增删改查
    • HSET key field value:为哈希表key中的field赋值。
    • HGET key field:获取哈希表中指定字段的值。
    • HMSET key field value [field value ...]:同时设置多个哈希字段的值。
    • HGETALL key:获取哈希表中所有字段和值。

List(列表)

  • 元素操作
    • LPUSH key value [value ...]:将一个或多个值插入到列表头部。
    • RPUSH key value [value ...]:将一个或多个值插入到列表尾部。
    • LPOP key:移除并返回列表的第一个元素。
    • RPOP key:移除并返回列表的最后一个元素。
    • LRANGE key start stop:获取列表指定范围内的元素。

Set(集合)

  • 成员操作
    • SADD key member [member ...]:向集合添加一个或多个成员。
    • SISMEMBER key member:判断成员是否是集合的成员。
    • SMEMBERS key:获取集合的所有成员。
    • SCARD key:获取集合内元素的数量。

Sorted Set(有序集合)

  • 元素排序操作
    • ZADD key score member [score member ...]:添加一个带有分数的成员到有序集合。
    • ZRANK key member:返回有序集合中指定成员的索引(排名)。
    • ZSCORE key member:返回有序集合中成员的分数值。
    • ZRANGE key start stop [WITHSCORES]:按索引范围返回有序集合的成员及其分数。

其他常见命令

  • 事务MULTI, EXEC, DISCARD, WATCH

  • 发布/订阅PUBLISH channel message, SUBSCRIBE channel [channel ...], UNSUBSCRIBE [channel ...]

  • 持久化SAVE, BGSAVE, LASTSAVE, CONFIG SET save "..." (配置持久化策略)

  • 数据库管理

    • SELECT index:切换数据库。
    • FLUSHDB:清空当前数据库。
    • FLUSHALL:清空所有数据库。
  • 脚本执行EVAL script numkeys key [key ...] arg [arg ...]

  • 监控与统计INFO, MONITOR

HyperLogLog(基数统计)

  • 基数估算
    • PFADD key element [element ...]:添加指定元素到HyperLogLog结构中。
    • PFCOUNT key [key ...]:返回给定HyperLogLog的近似基数,即唯一元素数量。

Bitmaps(位图)

  • 位操作
    • SETBIT key offset value:对key所储存的字符串值设置或清除指定偏移量上的位。
    • GETBIT key offset:获取key所储存的字符串值指定偏移量上的位。
    • BITCOUNT key [start end]:计算给定范围内,key对应的字符串中被设置为1的比特位的数量。

Streams(流数据)

  • 流操作
    • XADD key * field value [field value ...]:将一条新消息追加到流中。
    • XRANGE key start end [COUNT count]:从流中返回指定范围内的消息。
    • XPENDING key group [start end count consumer]:查询消费者组未确认的消息。

连接管理

  • 客户端连接信息
    • CLIENT LIST:获取客户端连接列表。
    • CLIENT KILL ip:port:关闭与指定IP和端口相匹配的客户端连接。
    • CLIENT GETNAME:获取当前连接的名称。
    • CLIENT SETNAME connection-name:设置当前连接的名称。

许可证控制

  • ACL命令
    • ACL SETUSER username:创建或修改用户及其权限。
    • ACL GETUSER username:获取用户的信息和权限列表。
    • ACL LIST:列出所有用户及它们的权限。
    • ACL WHOAMI:显示当前连接的身份。

Lua脚本执行

Redis支持使用Lua语言编写脚本并在服务器端执行以实现更复杂的逻辑,例如:

  • EVAL script numkeys key [key ...] arg [arg ...]:执行Lua脚本,并通过key和arg参数传入键名和参数。

其他实用命令

  • 过期时间设置

    • PEXPIRE key milliseconds:为key设置过期时间(毫秒)。
    • EXPIRE key seconds:为key设置过期时间(秒)。
    • PERSIST key:移除key的过期时间,使其持久化。
  • 事务相关

    • EXEC:执行事务块内的命令序列。
    • DISCARD:取消事务,放弃执行事务块内的所有命令。
    • UNWATCH:取消之前对所有key的监视。

由于篇幅限制,以上仍非Redis命令大全的完整列表,更多高级特性、详细参数以及命令用法,请参考官方文档。

python推荐学习汇总连接:
50个开发必备的Python经典脚本(1-10)

50个开发必备的Python经典脚本(11-20)

50个开发必备的Python经典脚本(21-30)

50个开发必备的Python经典脚本(31-40)

50个开发必备的Python经典脚本(41-50)


​最后我们放松一下眼睛

相关推荐
Wang's Blog1 分钟前
Redis: 集群环境搭建,集群状态检查,分析主从日志,查看集群信息
数据库·redis
容器( ु⁎ᴗ_ᴗ⁎)ु.。oO22 分钟前
MySQL事务
数据库·mysql
cyt涛2 小时前
MyBatis 学习总结
数据库·sql·学习·mysql·mybatis·jdbc·lombok
Rookie也要加油3 小时前
01_SQLite
数据库·sqlite
liuxin334455663 小时前
教育技术革新:SpringBoot在线教育系统开发
数据库·spring boot·后端
看山还是山,看水还是。3 小时前
MySQL 管理
数据库·笔记·mysql·adb
fishmemory7sec3 小时前
Koa2项目实战2(路由管理、项目结构优化)
数据库·mongodb·koa
momo小菜pa4 小时前
【MySQL 09】表的内外连接
数据库·mysql
Jasonakeke4 小时前
【重学 MySQL】四十九、阿里 MySQL 命名规范及 MySQL8 DDL 的原子化
数据库·mysql
程序猿小D4 小时前
第二百六十九节 JPA教程 - JPA查询OrderBy两个属性示例
java·开发语言·数据库·windows·jpa