Redis键(Key)

Redis 键(key)

Redis 键命令用于管理 redis 的键。

语法

Redis 键命令的基本语法如下:

redis 127.0.0.1:6379> COMMAND KEY_NAME

实例

127.0.0.1:6379> SET NoSQL0 redis
OK
127.0.0.1:6379> DEL NoSQL0
(integer) 1
127.0.0.1:6379>

在以上实例中 DEL 是一个命令, runoobkey 是一个键。 如果键被删除成功,命令执行后输出 (integer) 1,否则将输出 (integer) 0

Redis keys 命令

命令执行成功则返回 (integer) 1,否则将输出 (integer) 0

DEL

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

127.0.0.1:6379> SET NoSQL0 redis
OK
127.0.0.1:6379> DEL NoSQL0
(integer) 1
127.0.0.1:6379>

DUMP

Redis DUMP 命令用于序列化给定 key ,并返回被序列化的值。如果 key 不存在,那么返回 nil 。 否则,返回序列化之后的值。

127.0.0.1:6379> SET greeting "hello, dumping world!"
OK
127.0.0.1:6379> DUMP greeting
"\x00\x15hello, dumping world!\a\x00,\x7f\xe7\xf1%\xed(W"
127.0.0.1:6379> DUMP not-exists-key
(nil)
127.0.0.1:6379>                                          

EXISTS

Redis EXISTS 命令用于检查给定 key 是否存在。若 key 存在返回 1 ,否则返回 0 。

127.0.0.1:6379> EXISTS greeting
(integer) 1
127.0.0.1:6379> EXISTS no-existing
(integer) 0
127.0.0.1:6379>

Keys

Redis Keys 命令用于查找所有符合给定模式 pattern 的 key .符合给定模式的 key 列表 (Array)。

127.0.0.1:6379> SET nosql0 redis
OK
127.0.0.1:6379> SET nosql2 mongodb
OK
127.0.0.1:6379> SET nosql3 Counchdb
OK
127.0.0.1:6379> KEYS nosql*
1) "nosql0"
2) "nosql2"
3) "nosql3"
127.0.0.1:6379>                    

Expire

Redis Expire 命令用于设置 key 的过期时间。key 过期后将不再可用。设置成功返回 1 。 当 key 不存在或者不能为 key 设置过期时间时(比如在低于 2.1.3 版本的 Redis 中你尝试更新 key 的过期时间)返回 0 。

127.0.0.1:6379> SET ttl-key redis
OK
127.0.0.1:6379> EXPIRE ttl-key 60
(integer) 1
127.0.0.1:6379>

设置了过期时间为 1 分钟,1分钟后该键会自动删除。

Expireat

Redis Expireat 命令用于以 UNIX 时间戳(unix timestamp)格式设置 key 的过期时间。key 过期后将不再可用。设置成功返回 1 。 当 key 不存在或者不能为 key 设置过期时间时(比如在低于 2.1.3 版本的 Redis 中你尝试更新 key 的过期时间)返回 0 。

127.0.0.1:6379> SET ttl-key redis
OK
127.0.0.1:6379> EXPIREAT ttl-key 1518689999
(integer) 1
127.0.0.1:6379>

EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。类似的还有:

  • PEXPIRE key milliseconds
    设置 key 的过期时间以毫秒计。
  • PEXPIREAT key milliseconds-timestamp
    设置 key 过期时间的时间戳(unix timestamp) 以毫秒计

TTL & PERSIST

Redis TTL 命令以秒为单位返回 key 的剩余过期时间。当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单位,返回 key 的剩余生存时间。类似的还有PTTL key以毫秒为单位返回 key 的剩余的过期时间。

Redis PERSIST 命令用于移除给定 key 的过期时间,使得 key 永不过期。当过期时间移除成功时,返回 1 。 如果 key 不存在或 key 没有设置过期时间,返回 0 。

127.0.0.1:6379> SET mykey "Hello"
OK
127.0.0.1:6379> EXPIRE mykey 10
(integer) 1
127.0.0.1:6379> TTL mykey
(integer) 2
127.0.0.1:6379> PERSIST mykey
(integer) 0
127.0.0.1:6379> TTL mykey
(integer) -2

RANDOMKEY

Redis RANDOMKEY 命令从当前数据库中随机返回一个 key 。当数据库不为空时,返回一个 key 。 当数据库为空时,返回 nil 。

127.0.0.1:6379> FLUSHDB
OK
127.0.0.1:6379> RANDOMKEY
(nil)
127.0.0.1:6379> MSET fruit "apple" drink "beer" food "cookies"
OK
127.0.0.1:6379> RANDOMKEY
"drink"
127.0.0.1:6379> RANDOMKEY
"fruit"
127.0.0.1:6379> RANDOMKEY
"fruit"                                                       

其中 FLUSHDB 删除当前数据库所有 key

Rename & Renamenx

Redis Rename 命令用于修改 key 的名称 。改名成功时提示 OK ,失败时候返回一个错误。当 OLD_KEY_NAME 和 NEW_KEY_NAME 相同,或者 OLD_KEY_NAME 不存在时,返回一个错误。 当 NEW_KEY_NAME 已经存在时, RENAME 命令将覆盖旧值。

# key 存在且 newkey 不存在
redis> SET message "hello world"
OK
redis> RENAME message greeting
OK
redis> EXISTS message               # message 不复存在
(integer) 0
redis> EXISTS greeting              # greeting 取而代之
(integer) 1

# 当 key 不存在时,返回错误

redis> RENAME fake_key never_exists
(error) ERR no such key

# newkey 已存在时, RENAME 会覆盖旧 newkey
redis> SET pc "lenovo"
OK
redis> SET personal_computer "dell"
OK
redis> RENAME pc personal_computer
OK
redis> GET pc
(nil)
redis:1> GET personal_computer      # 原来的值 dell 被覆盖了
"lenovo"

Redis Renamenx 命令用于在新的 key 不存在时修改 key 的名称 。修改成功时,返回 1 。 如果NEW_KEY_NAME 已经存在,返回 0 。

# newkey 不存在,改名成功

redis> SET player "MPlyaer"
OK
redis> EXISTS best_player
(integer) 0
redis> RENAMENX player best_player
(integer) 1

# newkey 存在时,失败

redis> SET animal "bear"
OK
redis> SET favorite_animal "butterfly"
OK
redis> RENAMENX animal favorite_animal
(integer) 0
redis> get animal
"bear"
redis> get favorite_animal
"butterfly"

Type

Redis Type 命令用于返回 key 所储存的值的类型。返回 key 的数据类型,数据类型有:

  • none (key不存在)
  • string (字符串)
  • list (列表)
  • set (集合)
  • zset (有序集)
  • hash (哈希表)
# 字符串

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

Move

Redis MOVE 命令用于将当前数据库的 key 移动到给定的数据库 db 当中。移动成功返回 1,失败则返回 0 。

# key 存在于当前数据库

redis> SELECT 0                        # redis默认使用数据库 0,为了清晰起见,这里再显式指定一次。
OK
redis> SET song "secret base - Zone"
OK
redis> MOVE song 1                      # 将 song 移动到数据库 1
(integer) 1
redis> EXISTS song                      # song 已经被移走
(integer) 0
redis> SELECT 1                         # 使用数据库 1
OK

# 证实 song 被移到了数据库 1 (注意命令提示符变成了"redis:1",表明正在使用数据库
redis:1> EXISTS song
(integer) 1

# 当 key 不存在的时候

redis:1> EXISTS fake_key
(integer) 0
redis:1> MOVE fake_key 0                # 试图从数据库 1 移动一个不存在的 key 到数据库 0,失败
(integer) 0
redis:1> select 0                       # 使用数据库0
OK
redis> EXISTS fake_key                  # 证实 fake_key 不存在
(integer) 0

# 当源数据库和目标数据库有相同的 key 时

redis> SELECT 0                          # 使用数据库0
OK
redis> SET favorite_fruit "banana"
OK
redis> SELECT 1                          # 使用数据库1
OK
redis:1> SET favorite_fruit "apple"
OK
redis:1> SELECT 0                        # 使用数据库0,并试图将 favorite_fruit 移动到数据库 1
OK
redis> MOVE favorite_fruit 1             # 因为两个数据库有相同的 key,MOVE 失败
(integer) 0
redis> GET favorite_fruit                # 数据库 0 的 favorite_fruit 没变
"banana"
redis> SELECT 1
OK
redis:1> GET favorite_fruit              # 数据库 1 的 favorite_fruit 也是
"apple"

原文地址:https://www.cnblogs.com/oneTOinf/p/8451384.html

时间: 2024-10-05 22:17:49

Redis键(Key)的相关文章

Redis 键(key)相关的命令及其它命令的查看地址

Redis 键(key) Redis 键命令用于管理 redis 的键. 语法 Redis 键命令的基本语法如下: redis 127.0.0.1:6379> COMMAND KEY_NAME 实例: 在以上实例中 DEL 是一个命令, runoobkey 是一个键. 如果键被删除成功,命令执行后输出 (integer) 1,否则将输出 (integer) 0 下面给大家列举几个常用的跟键相关的命令: Redis DEL 命令 Redis DEL 命令用于删除已存在的键.不存在的 key 会被忽

Redis 键(key)

Redis 键(key) Redis 键命令用于管理 redis 的键. 语法 Redis 键命令的基本语法如下: redis 127.0.0.1:6379> COMMAND KEY_NAME 实例 redis 127.0.0.1:6379> SET runoobkey redis OK redis 127.0.0.1:6379> DEL runoobkey (integer) 1 在以上实例中 DEL 是一个命令, runoobkey 是一个键. 如果键被删除成功,命令执行后输出 (i

Redis 键(key) 讲解 - Redis 教程

Redis 键命令用于管理 redis 的键. 语法 Redis 键命令的基本语法如下: redis 127.0.0.1:6379> COMMAND KEY_NAME 实例 redis 127.0.0.1:6379> SET w3ckey redis OK redis 127.0.0.1:6379> DEL w3ckey (integer) 1 在以上实例中 DEL 是一个命令, w3ckey 是一个键. 如果键被删除成功,命令执行后输出 (integer) 1,否则将输出 (integ

Redis 命令-键(key)

Redis 键(key) Redis 键命令用于管理 redis 的键. 语法 Redis 键命令的基本语法如下: redis 127.0.0.1:6379> COMMAND KEY_NAME 实例 redis 127.0.0.1:6379> SET runoobkey redis OK redis 127.0.0.1:6379> DEL runoobkey (integer) 1 在以上实例中 DEL 是一个命令, runoobkey 是一个键. 如果键被删除成功,命令执行后输出 (i

redis 键命令

Redis 键(key)命令 Redis 键命令用于管理 redis 的键. 语法 Redis 键命令的基本语法如下: redis 127.0.0.1:6379> COMMAND KEY_NAME 实例 redis 127.0.0.1:6379> SET runoob redis OK redis 127.0.0.1:6379> DEL runoob (integer) 1 在以上实例中 DEL 是一个命令, runoobkey 是一个键. 如果键被删除成功,命令执行后输出 (integ

Redis 键(key)

Redis 键(key) Redis键命令用于管理redis的键. 语法 Redis键命令的基本语法如下: redis 127.0.0.1:6379> COMMAND KEY_NAME 实例 redis 127.0.0.1:6379> SET runoobkey redis OK redis 127.0.0.1:6379> DEL runoobkey (integer) 1     在以上实例中DEL是一个命令,runoobkey是一个键.如果键被删除成功,命令执行后输出(integer

C#Redis 常用key操作

一.前戏 在该系列的前几篇博客中,主要讲述的是与Redis数据类型相关的命令,如String.List.Set.Hashes和Sorted-Set.这些命令都具有一个共同点,即所有的操作都是针对与Key关联的Value的.而该篇博客将主要讲述与Key相关的Redis命令.学习这些命令对于学习Redis是非常重要的基础,也是能够充分挖掘Redis潜力的利器.      在该篇博客中,我们将一如既往的给出所有相关命令的明细列表和典型示例,以便于我们现在的学习和今后的查阅. 二.理论 命令原型 时间复

redis 下key的过期时间详解 :expire

Redis是一个开源的Key-Value数据缓存,和Memcached类似. Redis多种类型的value,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型). Jedis 是 Redis 官方首选的 Java 客户端开发包. redis通过expire命令来设置key的过期时间. 语法:redis.expire(key, expiration) 1. 在小于2.1.3的redis版本里,只能对key设置一次exp

Redis键

Redis的keys命令用于管理键.使用Redis的keys命令语法如下所示: 语法 redis 127.0.0.1:6379> COMMAND KEY_NAME 例子 redis 127.0.0.1:6379> SET yiibai redis OK redis 127.0.0.1:6379> DEL yiibai (integer) 1 在上面的例子中DEL是命令,而yiibai是键.如果键被删除那么输出该命令将是 (integer) 1,否则它是 (integer) 0 Redis