64人参与 • 2025-03-11 • Redis
未来在工作中会涉及到的几个环境:
编译一次时间特别久,使用高性能的服务器,进行编译
有的程序一启动要消耗很多的 cpu 和内存资源,办公电脑难以支撑
有的程序比较依赖 linux
,在其他环境下搭不起来
通过 redis-cli
客户端和 redis
服务器交互,涉及到很多的 redis
命令(非常非常多)
redis
的文档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
实际上会有多种类型
而全局命令,就是可以搭配任意一个数据结构来使用的命令
用来查询当前服务器上匹配的 key
。
通过一些特殊符号(通配符)来描述 key
的模样,匹配上述模样的 key
就能被查询出来
redis
上面有哪些 key
语法:
keys pattern
pattern
: 包含特殊符号的字符串。有的地方翻译成“样式”或者“模式”。存在的意义,是去描述另外的字符串长啥样的比如,你找女朋友的要求是:
- 肤白
- 貌美
- 大长腿
那这些条件就是pattern
。又饿了这些条件之后,你就在你的追求者中进行遍历,看哪些符合这些条件,选出她们
?
:匹配任意一个字符,hello
,hollo
,hxllo
…*
:匹配任意个字符,heeeeelo
,hllo
…[ae]
:匹配指定字符,hallo
和 hello
[^e]
:匹配除了指定字符的,hallo
,hgllo
…[a-b]
:匹配 a-b 这个范围的,hallo
,hbllo
注意事项:
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内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论