KEYS

  • 语法: KEYS pattern
  • 功能: 返回所有匹配 pattern 的键
  • 可以使用该命令的Redis版本: 1.0.0
  • 时间复杂度: O(N) N指的是在数据库中的键的数量

不建议在生成环境使用该命令,因为是扫描整个数据库的键查询,会造成阻塞

支持的全局样式模式:

  • h?llo 匹配 hello,hallo并且hxllo
  • h*llo 匹配 hllo 和 heeeello
  • h[ae]llo 匹配 hello 和 hallo,不匹配 hillo
  • h[^e]llo 匹配 hallo, hbllo, ... 但不匹配 hello
  • h[a-b]llo 匹配 hallo 和 hbllo

如果要逐字匹配特殊字符,请使用转义字符 \

# 查看所有的键
127.0.0.1:6379> keys *
1) "age"
2) "color"
3) "gender"
4) "name" # 查看以a开头的键
127.0.0.1:6379> keys a*
1) "age" # 查看包含a的键
127.0.0.1:6379> keys *a*
1) "age"
2) "name"
127.0.0.1:6379>

DEL

  • 语法: DEL key [key ...]
  • 功能: 删除指定的键,如果键不存在,则忽略它
  • 可以使用该命令的Redis版本: 1.0.0
  • 时间复杂度: O(N) 其中 N 是要移除的键的数量, 当要删除的键包含字符串以外的值时,该键的单个复杂度为 O(M),其中 M 是列表、集合、排序集或散列中的元素数。删除包含字符串值的单个键是 O(1)。

示例:

127.0.0.1:6379> set name tom
OK
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379>

EXISTS

  • 语法: EXISTS key [key ...]
  • 功能: 检查指定的键是否存在
  • 可以使用该命令的Redis版本: 1.0.0 (3.0.3版本之后才接受多个key)
  • 时间复杂度: O(N) N指的是要检查的键的数量
  • 返回一个整数, 它指的是要检查的键中, 存在的键的个数

示例:

127.0.0.1:6379> keys *
1) "age"
2) "name"
127.0.0.1:6379> EXISTS name
(integer) 1
127.0.0.1:6379> EXISTS name age
(integer) 2
127.0.0.1:6379> EXISTS gender
(integer) 0
127.0.0.1:6379> EXISTS name gender
(integer) 1
127.0.0.1:6379>

EXPIRE

  • 语法: EXPIRE key seconds [ NX | XX | GT | LT]
  • 功能: 设置键的超时时间(单位/秒),超时后,键被自动删除
  • 可以使用该命令的Redis版本: 1.0.0
  • 时间复杂度: O(1)
  • 返回一个整数
    • 1 如果超时被设置成功
    • 0 如果超时被设置失败 (例如:键不存在,或者由于提供的参数而跳过了操作)

*注意: 这个超时的设置只会被删除或覆盖键内容的命令清除,包括 DEL, SET, GETSET 和 所有的 STORE 命令。

这意味着,所有在概念上更改存储在键中的值而不使用新值替换的操作都将保持超时不变。

例如: 使用 INCR 增加键的值, 使用 LPUSH 向列表压入新的值,或者使用 HSET 修改散列的字段值, 这些操作都不会影响超时时间。

TTL

  • 语法: TTL key
  • 功能: 返回具有超时的键的剩余生存时间(单位/秒)
  • 可以使用该命令的Redis版本: 1.0.0
  • 时间复杂度: O(1)
  • 返回一个整数, 以秒为单位的 TTL
    • 如果键不存在,该命令将返回 -2 (2.8.0 版本增加的)
    • 如果键存在但没有关联的过期,则该命令返回 -1

示例:

127.0.0.1:6379> SET name tom
OK
127.0.0.1:6379> EXPIRE name 100
(integer) 1
127.0.0.1:6379> TTL name
(integer) 98 127.0.0.1:6379> SET age 22
OK
127.0.0.1:6379> TTL age
(integer) -1
127.0.0.1:6379>

Redis 通用命令的更多相关文章

  1. redis通用命令

    1.keys pattern 含义:查找所有符合给定模式(pattern)的key keys * 遍历所有key keys he[h-l]* 遍历以he开头,第三个字符为h-l之间的所有key key ...

  2. Redis通用命令(七)

    Keys的通用操作: (1)获得所有的keyskeys *(2)查看my开头的keykeys my?(3)删除keydel key1 key2(4)key是否存在exists key1 exists ...

  3. 02 redis通用命令操作

    set hi hello 设置值 get hi 获取值 keys * 查询出所有的key memcached 不能查询出所有的key keys *h 模糊查找key keys h[ie] 模糊查找 k ...

  4. Redis入门到高可用(三)——通用命令

    通用命令  参考 http://redisdoc.com/index.html 1. keys  #查看所有key 时间复杂度:O(N), N 为数据库中 key 的数量. 127.0.0.1:637 ...

  5. Centos7.2下安装redis&通用键值命令

    Centos7.2下安装redis&通用键值命令 Centos7.2下安装redis 官方网站:https://redis.io/ 1.进入/usr/local/src/目录 cd /usr/ ...

  6. 3年Java开发都知道的Redis数据结构和通用命令

    Redis的数据结构 Redis支持多种不同的数据结构,包括5种基础数据结构和几种比较复杂的数据,这些数据结构可以满足不同的应用场景. 五种基础数据结构 String:字符串,是构建其他数据结构的基础 ...

  7. redis 学习(二)-- 通用命令

    redis 学习(二)-- 通用命令 1. keys pattern 含义:查找所有符合给定模式(pattern)的key 命令 含义 keys * 遍历所有 key keys he[h-l]* 遍历 ...

  8. Redis 全局通用命令整理

    转载请注明出处: 1.查看所有键 keys * 该命令会存在线程阻塞问题,keys 命令也可以通过正则匹配获取存在的缓存数据 2.查看键总数 dbsize dbsize命令会返回当前数据库中键的总数. ...

  9. Redis 常用命令学习一:通用的基本命令

    1-链接,如果需要的 Redis 部署在远程机器上,可以通过以下命令链接,其中-h后面跟着主机名,-p后面跟端口名 redis-cli -h 233.2.2.4 -p 666 2-PING 命令用来测 ...

  10. 转:redis常用命令

    一 Redis介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发 ...

随机推荐

  1. 即时通讯技术文集(第31期):IM开发综合技术合集(Part4) [共13篇]

    为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第31 期. ​[- 1 -] IM消息ID技术专题(一):微信的海量IM聊天消息序列号生成实践 ...

  2. 基于开源IM即时通讯框架MobileIMSDK:RainbowChat v9.0版已发布

    关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持UDP .TCP .WebSocket 三种协议,支持iOS.A ...

  3. 2025-01-01:优质数对的总数Ⅰ。用go语言,给定两个整数数组 nums1 和 nums2,分别长度为 n 和 m,以及一个正整数 k。 如果 nums1 数组中的元素 nums1[i] 能被

    2025-01-01:优质数对的总数Ⅰ.用go语言,给定两个整数数组 nums1 和 nums2,分别长度为 n 和 m,以及一个正整数 k. 如果 nums1 数组中的元素 nums1[i] 能被 ...

  4. SHAPEIT算法简介

    本文是基于SHAPIT2和SHAPEIT4的,先介绍SHAPEIT2的算法原理,然后简单介绍了一下SHAPEIT4更新的部分.文中介绍主要集中在算法部分,比较简介,具体内容请看参考文献. [SHAPE ...

  5. 更改高通xbl串口log波特率

    本修改基于高通QCM6125平台,目的是为了满足客户无聊的需求. 注意事项: 基准时钟频率需要是硬件和驱动支持的频率,时钟频率和分频系数可以从AP侧驱动中找到 最低分频系数需要满足分频公式(能够被整除 ...

  6. Python 潮流周刊#85:让 AI 帮你写出更好的代码(摘要)

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  7. uwp 图像处理例子

    async void test() { Color replaceBlack = Color.FromArgb(224,233,55,6); Color replaceWhite = Color.Fr ...

  8. Kafka优化提升

    一.如何优化kafka集群 1.吞吐量 2.低延时 生产者 a.batch.size=512kb或1MB(批量数据大小) b.buffer.memory=64M(缓冲区大小) c.linger.ms= ...

  9. leetcode-Linux 简介

    https://leetcode-cn.com/leetbook/read/awesome-linux-handbook/eg4ecm/ Linux 系统是一种金字塔模型的系统,如下所示 应用程序发起 ...

  10. Jdk8新特性目录总结

    --------------------------------------- Lambda表达式 接口新增方法 四大函数式接口 方法引用 Stream(1) Stream(2) Stream(3) ...