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中文网

相关推荐
p***924825 分钟前
深入理解与实战SQL IFNULL()函数
数据库·sql·oracle
q***81642 小时前
MySQL:数据查询-limit
数据库·mysql
p***92482 小时前
DBeaver连接本地MySQL、创建数据库表的基础操作
数据库·mysql
JIngJaneIL4 小时前
社区互助|社区交易|基于springboot+vue的社区互助交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·社区互助
晚风吹人醒.4 小时前
缓存中间件Redis安装及功能演示、企业案例
linux·数据库·redis·ubuntu·缓存·中间件
Y***98514 小时前
DVWA靶场通关——SQL Injection篇
数据库·sql
Yawesh_best4 小时前
告别系统壁垒!WSL+cpolar 让跨平台开发效率翻倍
运维·服务器·数据库·笔记·web安全
蒋士峰DBA修行之路4 小时前
实验二十八 SQL PATCH调优
数据库·sql·gaussdb
I***t7165 小时前
一条sql 在MySQL中是如何执行的
数据库·sql·mysql
一 乐5 小时前
应急知识学习|基于springboot+vue的应急知识学习系统(源码+数据库+文档)
数据库·vue.js·spring boot