说说 Redis 常用命令

说说 Redis 常用命令

①、操作字符串的命令有:

  • SET key value:设置键 key 的值为 value。

  • GET key:获取键 key 的值。

  • DEL key:删除键 key。

  • INCR key:将键 key 存储的数值增一。

  • DECR key:将键 key 存储的数值减一。

②、操作列表的命令有:

  • LPUSH key value:将一个值插入到列表 key 的头部。

  • RPUSH key value:将一个值插入到列表 key 的尾部。

  • LPOP key:移除并返回列表 key 的头元素。

  • RPOP key:移除并返回列表 key 的尾元素。

  • LRANGE key start stop:获取列表 key 中指定范围内的元素。

③、操作集合的命令有:

  • SADD key member:向集合 key 添加一个元素。

  • SREM key member:从集合 key 中移除一个元素。

  • SMEMBERS key:返回集合 key 中的所有元素。

④、操作有序集合的命令有:

  • ZADD key score member:向有序集合 key 添加一个成员,或更新其分数。

  • ZRANGE key start stop [WITHSCORES]:按照索引区间返回有序集合 key 中的成员,可选 WITHSCORES 参数返回分数。

  • ZREVRANGE key start stop [WITHSCORES]:返回有序集合 key 中,指定区间内的成员,按分数递减。

  • ZREM key member:移除有序集合 key 中的一个或多个成员。

⑤、操作哈希的命令有:

  • HSET key field value:向键为 key 的哈希表中设置字段 field 的值为 value。

  • HGET key field:获取键为 key 的哈希表中字段 field 的值。

  • HGETALL key:获取键为 key 的哈希表中所有的字段和值。

  • HDEL key field:删除键为 key 的哈希表中的一个或多个字段。

详细说说 set 命令?

在 Redis 中,设置键值对的命令是 set。set 命令有几个常用的参数:

①、可以通过 EX 或 PX 为键设置过期时间(秒或毫秒)

复制代码
 redis-cli SET session_id "xyz" EX 3600  # 设置键 session_id,值为 "xyz",过期时间为 3600 秒

②、NX 选项表示只有键不存在时才设置

复制代码
 redis-cli SET lock_key "locked" NX

③、XX 选项表示只有键存在时才设置

复制代码
 redis-cli SET config "new_config" XX

事务操作命令

  • MULTI
    • 命令格式MULTI
    • 作用 :用于开启一个 Redis 事务,后续的命令会被放入事务队列中,暂不执行,直到执行 EXEC 命令。
  • EXEC
    • 命令格式EXEC
    • 作用 :执行在 MULTI 命令之后放入事务队列中的所有命令,将所有命令作为一个原子操作来执行,要么全部成功,要么全部失败。
  • DISCARD
    • 命令格式DISCARD
    • 作用:用于取消一个正在进行的事务,清除事务队列中的所有命令,恢复到事务开启前的状态。

这些只是 Redis 常用命令中的一部分,Redis 功能丰富,还有如发布 / 订阅、脚本、连接管理等方面的众多命令,可以根据具体的业务场景和需求来灵活选用相应的命令操作 Redis 数据库

相关推荐
之歆15 小时前
在 IntelliJ IDEA 里复刻 Cursor 式内联审查:架构复盘-从放弃到拾起:如何用 LineStatusTracker 拯救一个烂掉的项目
java·架构·intellij-idea
jeffer_liu15 小时前
Spring AI 生产级实战-结构化输出
java·人工智能·后端·spring·大模型
疏狂难除15 小时前
JetBrains IDE插件开发教程(四)——Action
java·ide·kotlin
laufing15 小时前
java web 基础 ---- servlet
java·servlet·web开发
程序猿乐锅15 小时前
【苍穹外卖|Day01】项目初识:从多模块结构到 OpenAPI 接口文档踩坑
java·spring·maven·mybatis
李白的天不白15 小时前
针对你遇到的 Client.Timeout exceeded 问题,我判断是防火墙拦截了 HTTPS 流量
java
linweidong15 小时前
Java 后端开发面试 50 个高频易混淆知识点详解
java·spring boot·spring·spring cloud·面试·mybatis·spring事务
码语智行15 小时前
应用启动和关闭监听器功能分析
java·spring boot
Resky081815 小时前
什么是 Spring IOC:倒过来让容器帮你 new,而不是你到处 new
java·spring
AutumnWind042015 小时前
【JDK动态代理源码梳理】
java·后端·spring