开发者

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

开发者 https://www.devze.com 2025-04-02 10:53 出处:网络 作者: 椰椰椰耶
目录生产环境Redis 文档最核心的两个命令 get 和 set使用方法全局命令定义keys——查询 keypattern总结 生产环境
目录
  • 生产环境
  • Redis 文档
  • 最核心的两个命令 get 和 set
    • 使用方法
  • 全局命令
    • 定义
    • keys——查询 key
      • pattern
  • 总结 

    生产环境

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

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

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

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

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

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

    Redis 文档

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

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

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

    最核心的两个命令 get 和 set

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

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

    若想输入 Redis 命令,就先要进入 Redis 客户编程客栈

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

    使用方法

    set key value
    

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

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

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

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

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

    全局命令

    定义

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

    • 字符串
    • 哈希表
    • 列表
    • 集合
    • 有序集合

      操作上面不同的数据结构,就会有不同的命令。

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

    keys——查询 key

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

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

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

    语法:

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

    pattern

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

    • 肤白
    • 貌美
    • 大长腿

      那这些条件就是 pattern。又饿了这些条件之后,你就在你的追求者中进行遍历,看哪些符合这些条件,选出她们

    • ?:匹配任意一个字符,hellohollohxllo
    • *:匹配任意个字符,heeeeelohllo
    • [ae]:匹js指定字符,hallo 和 hello
    • [^e]:匹配除了指定字符的,hallohgllo
    • [a-b]:匹配 a-b 这个范围的,hallohbllo

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

    注意事项:

    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内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号