redis全局命令set、get、keys使用方法

 更新时间:2025年03月11日 11:37:55   作者:椰椰椰耶  
这篇文章主要介绍了redis全局命令set、get、keys使用方法的相关资料,详细讲解了Redis的基本概念和常用命令,强调了在生产环境中避免使用keys命令的重要性,需要的朋友可以参考下

生产环境

未来在工作中会涉及到的几个环境:

  • 办公环境(入职后,公司给你发个电脑)
  • 开发环境
    • 有的时候,开发环境和办公环境是一个(一般做前端和做客户端)
    • 有的时候,开发环境是一个单独的服务器(一般做后端)

      编译一次时间特别久,使用高性能的服务器,进行编译

      有的程序一启动要消耗很多的 CPU 和内存资源,办公电脑难以支撑

      有的程序比较依赖 Linux,在其他环境下搭不起来

  • 测试环境(测试工程师使用)
  • 线上环境/生产环境
    • 上面三个环境统称“线下环境”,外界用户无法访问到的
    • 线上环境则是外界用户可以访问到的
    • 一旦生产环境上出现问题,一定会对用户的使用产生影响,就会直接影响到公司营收

Redis 文档

通过 redis-cli 客户端和 redis 服务器交互,涉及到很多的 redis 命令(非常非常多)

  • 掌握常用命令(多操作练习)
  • 学会使用 Redis 的文档

最核心的两个命令 get 和 set

Redis 是按照键值对的方式存储数据的

  • get:根据 key 来取 value
  • set:把 key 和 value 存储进去

若想输入 Redis 命令,就先要进入 Redis 客户端

使用方法

set key value

key 和 value 都必须是字符串(写数字也行,会把你的数字看成字符串)

  • redis 中的命令不区分大小写
get key

  • get 直接输入 key 就能得到 value
  • 如果当前 key 不存在,就会返回 nil(和 null/NULL 是一个意思)

全局命令

定义

Redis 支持很多种数据结构。整体上来说,Redis 是键值对结构key 固定就是字符串,value 实际上会有多种类型

  • 字符串
  • 哈希表
  • 列表
  • 集合
  • 有序集合
    操作上面不同的数据结构,就会有不同的命令。

而全局命令,就是可以搭配任意一个数据结构来使用的命令

keys——查询 key

用来查询当前服务器上匹配的 key

通过一些特殊符号(通配符)来描述 key 的模样,匹配上述模样的 key 就能被查询出来

  • 就是帮助我们看一下,当前 Redis 上面有哪些 key

语法:

keys pattern
  • pattern: 包含特殊符号的字符串。有的地方翻译成“样式”或者“模式”。存在的意义,是去描述另外的字符串长啥样的

pattern

比如,你找女朋友的要求是:

  • 肤白
  • 貌美
  • 大长腿
    那这些条件就是 pattern。又饿了这些条件之后,你就在你的追求者中进行遍历,看哪些符合这些条件,选出她们
  • ?:匹配任意一个字符,hellohollohxllo
  • *:匹配任意个字符,heeeeelohllo
  • [ae]:匹配指定字符,hallo 和 hello
  • [^e]:匹配除了指定字符的,hallohgllo
  • [a-b]:匹配 a-b 这个范围的,hallohbllo

注意事项:

keys 命令的时间复杂度是 O ( N ) O(N)O(N),所以,在生产环境上,一般都会禁止使用 keys 命令,尤其是大杀器 keys *

  • 生产环境上的 key 可能会非常多,而我们的 Redis 是一个单线程服务器
  • 就可能导致执行 key * 实际爱你非常长,就使 Redis 服务器被阻塞了,无法给其他客户端提供服务
    这样的后果可能是灾难性的
  • Redis 经常被用于做缓存,挡在 MySQL 面前,替 MySQL 负重前行。万一 Redis 被一个 keys * 阻塞住了,此时其他的查询 Redis 操作就超时了,此时这些请求就会直接查询数据库,突然一大波请求过来了,MySQL 措手不及,就容易挂~
  • 整个系统就基本瘫痪了。
  • 如果你要是没有及时发现,及时恢复的话,年终奖妥妥就没了,更有甚者工作就没了

总结 

到此这篇关于redis全局命令set、get、keys使用方法的文章就介绍到这了,更多相关redis全局命令set、get、keys内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Redis 设置密码无效问题解决

    Redis 设置密码无效问题解决

    本文主要介绍了Redis 设置密码无效问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Redis分布式锁防止缓存击穿的实现

    Redis分布式锁防止缓存击穿的实现

    本文主要介绍了Redis分布式锁防止缓存击穿的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 从源码解读redis持久化

    从源码解读redis持久化

    redis的持久化也就是数据落地,对于任何一个数据系统都要考虑是不是需要数据落地。在系统崩溃或是机房掉电等的情况下,将有用的数据记录在非易失性存储器上面,防止数据丢失,以及用来系统重启时的数据恢复。
    2018-08-08
  • Redis实现客户端缓存的4种方式

    Redis实现客户端缓存的4种方式

    客户端缓存是指在应用程序内存中维护一份Redis数据的本地副本,以减少网络请求次数,降低延迟,并减轻Redis服务器负担,本文将分享Redis客户端缓存的四种实现方式,大家可以参考一下
    2025-05-05
  • Redis主从复制实现原理分析

    Redis主从复制实现原理分析

    Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率
    2025-01-01
  • redis连接报错error:NOAUTH Authentication required

    redis连接报错error:NOAUTH Authentication required

    本文主要介绍了redis连接报错error:NOAUTH Authentication required,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • Redis中哨兵机制和集群的区别及说明

    Redis中哨兵机制和集群的区别及说明

    Redis哨兵通过主从复制实现高可用,适用于中小规模数据;集群采用分布式分片,支持动态扩展,适合大规模数据,哨兵管理简单但扩展性弱,集群性能更强但架构复杂,根据数据量和扩展需求选择
    2025-08-08
  • 配置redis的序列化,注入RedisTemplate方式

    配置redis的序列化,注入RedisTemplate方式

    这篇文章主要介绍了配置redis的序列化,注入RedisTemplate方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Redis数据类型string和Hash详解

    Redis数据类型string和Hash详解

    大家都知道Redis中有五大数据类型分别是String、List、Set、Hash和Zset,本文给大家分享Redis数据类型string和Hash的相关操作,感兴趣的朋友跟随小编一起看看吧
    2022-03-03
  • Redis慢日志的实现示例

    Redis慢日志的实现示例

    慢查询日志是Redis提供的一个用于观察系统性能的功能,本文主要介绍了Redis慢日志的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-04-04

最新评论