Redis 通用命令
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 通用命令的更多相关文章
- redis通用命令
1.keys pattern 含义:查找所有符合给定模式(pattern)的key keys * 遍历所有key keys he[h-l]* 遍历以he开头,第三个字符为h-l之间的所有key key ...
- Redis通用命令(七)
Keys的通用操作: (1)获得所有的keyskeys *(2)查看my开头的keykeys my?(3)删除keydel key1 key2(4)key是否存在exists key1 exists ...
- 02 redis通用命令操作
set hi hello 设置值 get hi 获取值 keys * 查询出所有的key memcached 不能查询出所有的key keys *h 模糊查找key keys h[ie] 模糊查找 k ...
- Redis入门到高可用(三)——通用命令
通用命令 参考 http://redisdoc.com/index.html 1. keys #查看所有key 时间复杂度:O(N), N 为数据库中 key 的数量. 127.0.0.1:637 ...
- Centos7.2下安装redis&通用键值命令
Centos7.2下安装redis&通用键值命令 Centos7.2下安装redis 官方网站:https://redis.io/ 1.进入/usr/local/src/目录 cd /usr/ ...
- 3年Java开发都知道的Redis数据结构和通用命令
Redis的数据结构 Redis支持多种不同的数据结构,包括5种基础数据结构和几种比较复杂的数据,这些数据结构可以满足不同的应用场景. 五种基础数据结构 String:字符串,是构建其他数据结构的基础 ...
- redis 学习(二)-- 通用命令
redis 学习(二)-- 通用命令 1. keys pattern 含义:查找所有符合给定模式(pattern)的key 命令 含义 keys * 遍历所有 key keys he[h-l]* 遍历 ...
- Redis 全局通用命令整理
转载请注明出处: 1.查看所有键 keys * 该命令会存在线程阻塞问题,keys 命令也可以通过正则匹配获取存在的缓存数据 2.查看键总数 dbsize dbsize命令会返回当前数据库中键的总数. ...
- Redis 常用命令学习一:通用的基本命令
1-链接,如果需要的 Redis 部署在远程机器上,可以通过以下命令链接,其中-h后面跟着主机名,-p后面跟端口名 redis-cli -h 233.2.2.4 -p 666 2-PING 命令用来测 ...
- 转:redis常用命令
一 Redis介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发 ...
随机推荐
- C Primer Plus 第6版 第六章 编程练习参考答案
编译环境VS Code+WSL GCC 源码请到文末下载 .注意:本章部分题目中用到了math.h 用gcc编译时加上-lm参数. /*第1题*************************/ #i ...
- 收藏几个常用的vue自定义组件,抄自 他人,以防丢失
在 Vue,除了核心功能默认内置的指令 ( v-model 和 v-show ),Vue 也允许注册自定义指令.它的作用价值在于当开发人员在某些场景下需要对普通 DOM 元素进行操作. Vue自定义指 ...
- Appium Android自动化测试配置
1. 首先需要在Android 手机上安装3个apk文件 https://github.com/appium/appium-uiautomator2-server/releases (2个apk文件) ...
- Netty3 核心代码-copy
Netty Hello Word-copy 概述https://github.com/csy512889371/learndemo/netty/NettyHellonetty版本大致版本分为 ne ...
- 基于Tablestore打造亿量级订单管理解决方案
一.方案背景 订单系统存在于各行各业,如电商订单.银行流水.运营商话费账单等,是一个非常广泛.通用的系统.对于这类系统,在过去十几年发展中已经形成了经典的做法.但是随着互联网的发展,以及各企业对数据的 ...
- 京东从 OpenStack 改用 Kubernetes 的始末
构建集群的历史 物理机器的时代(2004年-2014年) 在2014年之前,我们公司的应用程序都部署在物理机器上.在物理机器时代,为了给即将上线的应用程序分配物理机器,我们平均需要等上一周的时间.由于 ...
- 计算困难假设(Computational hardness assumption)
以下内容翻译自:维基 介绍 在计算复杂性理论中,计算困难假设是一个特定问题无法得到有效解决的假设(有效通常指"在多项式时间内").目前还不知道如何证明其困难性.同时,我们可以将一个 ...
- dart中Set类型详解
01==> Set 它的主要功能是去除重复的数组内容: Set是没有顺序且不能够重复的数组,所以不能够通过索引值去获取内容 var s = new Set(); s.add('苹果'); s.a ...
- 引领行业数字变革,天翼云出席IDC年度盛典暨颁奖典礼!
近日,2024 IDC中国年度盛典暨颁奖典礼在上海隆重开幕.天翼云出席大会数字工业行业峰会及金融行业峰会,分享了天翼云的智算布局及在行业数字化转型方面的技术探索和实践成果. 天翼云全面升级产品及生态矩 ...
- Vegeta HTTP 负载测试工具
Go接口压测的第三方包,一个很好用的负载测试工具.vegeta测试工具组件(可执行文件)支持linux以及mac系统,这里指的是通过终端命令行进行进行测试,不需要从代码层面使用这个工具的时候支持lin ...