Redis 键(Key)的命令

文章目录

set和get

设置数据已经查看数据

bash 复制代码
127.0.0.1:6379> set key hello
OK
127.0.0.1:6379> get key
"hello"

KEYS

Keys 命令用于查找所有符合给定模式 pattern 的 key

语法:

bash 复制代码
redis 127.0.0.1:6379> KEYS PATTERN

命令有效版本:1.0.0之后

时间复杂度:(N)

返回值:匹配pattern 的所有key。

返回所有满足样式(pattern)的key。⽀持如下统配样式。

样例

首先创建一些 key,并赋上对应值:

bash 复制代码
redis 127.0.0.1:6379> SET w3c1 redis
OK
redis 127.0.0.1:6379> SET w3c2 mysql
OK
redis 127.0.0.1:6379> SET w3c3 mongodb
OK

查找以 w3c 为开头的 key:

bash 复制代码
redis 127.0.0.1:6379> KEYS w3c*
1) "w3c3"
2) "w3c1"
3) "w3c2"

获取 redis 中所有的 key 可用使用 *。

bash 复制代码
redis 127.0.0.1:6379> KEYS *
1) "w3c3"
2) "w3c1"
3) "w3c2"

EXISTS

判断某个key 是否存在。

语法:

bash 复制代码
redis 127.0.0.1:6379> EXISTS KEY_NAME

命令有效版本:1.0.0 之后

时间复杂度:O(1)

返回值:key存在的个数。

样例

bash 复制代码
redis 127.0.0.1:6379> EXISTS w3cschoolcc-new-key
(integer) 0

现在我们创建一个名为 w3cschoolcc-new-key 的键并赋值,再使用 EXISTS 命令。

bash 复制代码
redis 127.0.0.1:6379> set w3cschoolcc-new-key newkey
OK
redis 127.0.0.1:6379> EXISTS w3cschoolcc-new-key
(integer) 1
redis 127.0.0.1:6379>

DEL

DEL 命令用于删除已存在的键。不存在的 key 会被忽略。

语法:

bash 复制代码
redis 127.0.0.1:6379> DEL KEY_NAME

命令有效版本:1.0.0之后

时间复杂度:O(1)返回值:删除掉的key的个数。

样例

首先,我们在 redis 中创建一个 key 并设置值。

bash 复制代码
redis 127.0.0.1:6379> SET w3ckey redis
OK

现在我们删除已创建的 key。

bash 复制代码
redis 127.0.0.1:6379> DEL w3ckey
(integer) 1

Expire

Redis Expire 命令用于设置 key 的过期时间。key 过期后将不再可用。

语法:

bash 复制代码
redis 127.0.0.1:6379> Expire KEY_NAME TIME_IN_SECONDS

命令有效版本:1.0.0之后

时间复杂度:O(1)

返回值:1表⽰设置成功。0表⽰设置失败。

样例

首先创建一个 key 并赋值:

bash 复制代码
redis 127.0.0.1:6379> SET w3ckey redis
OK

为 key 设置过期时间:

bash 复制代码
redis 127.0.0.1:6379> EXPIRE w3ckey 60
(integer) 1

TTL

Redis TTL 命令以秒为单位返回 key 的剩余过期时间。

语法:

bash 复制代码
redis 127.0.0.1:6379> TTL KEY_NAME

命令有效版本:1.0.0之后

时间复杂度:O(1)

返回值:1表⽰设置成功。0表⽰设置失败。

样例

bash 复制代码
# 不存在的 key
 
redis> FLUSHDB
OK
 
redis> TTL key
(integer) -2
 
 
# key 存在,但没有设置剩余生存时间
 
redis> SET key value
OK
 
redis> TTL key
(integer) -1
 
 
# 有剩余生存时间的 key
 
redis> EXPIRE key 10086
(integer) 1
 
redis> TTL key
(integer) 10084

键的过期机制

TYPE

Type 命令用于返回 key 所储存的值的类型。

语法:

bash 复制代码
redis 127.0.0.1:6379> TYPE KEY_NAME 

命令有效版本:1.0.0之后时间复杂度:O(1)

返回值: 返回 key 的数据类型,数据类型有:

none (key不存在)

string (字符串)

list (列表)

set (集合)

zset (有序集)

hash (哈希表)

样例:

bash 复制代码
# 字符串
 
redis> SET weather "sunny"
OK
 
redis> TYPE weather
string
 
 
# 列表
 
redis> LPUSH book_list "programming in scala"
(integer) 1
 
redis> TYPE book_list
list
 
 
# 集合
 
redis> SADD pat "dog"
(integer) 1
 
redis> TYPE pat
set

还有更多的细节可以查看redis.io,不习惯看英文的可以看看reids中文网

相关推荐
chirrupy_hamal1 天前
PostgreSQL 流复制参数 - synchronous_standby_names
数据库·postgresql
TiAmo zhang1 天前
什么是SQL Server 2019?
数据库·sqlserver
问道飞鱼1 天前
【数据库知识】TxSQL 主从数据库同步底层原理深度解析
网络·数据库·半同步复制·txsql
大有数据可视化1 天前
数字孪生背后的大数据技术:时序数据库为何是关键?
大数据·数据库·人工智能
lang201509281 天前
揭秘InnoDB磁盘I/O与存储空间管理
数据库·mysql
C++chaofan1 天前
项目中为AI添加对话记忆
java·数据结构·人工智能·redis·缓存·个人开发·caffeine
老华带你飞1 天前
机电公司管理小程序|基于微信小程序的机电公司管理小程序设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·微信小程序·小程序·机电公司管理小程序
Elastic 中国社区官方博客1 天前
CI/CD 流水线与 agentic AI:如何创建自我纠正的 monorepos
大数据·运维·数据库·人工智能·搜索引擎·ci/cd·全文检索
Terio_my1 天前
J2Cache 多级缓存配置与使用
缓存
野熊佩骑1 天前
一文读懂Redis之数据持久化
linux·运维·数据库·redis·缓存·中间件·centos