美文网首页
Redis 键(key)

Redis 键(key)

作者: 爱折腾的傻小子 | 来源:发表于2020-09-29 16:07 被阅读0次
Type 返回 key 所储存的值的类型
  • type redis命令 TYPE KEY_NAME
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('type', [
    'myset1'
]); // 2
// or 
$type = [
    \Redis::REDIS_STRING,   // 1
    \Redis::REDIS_SET,      // 2
    \Redis::REDIS_LIST,     // 3
    \Redis::REDIS_ZSET,     // 4
    \Redis::REDIS_HASH,     // 5
    \Redis::REDIS_NOT_FOUND,// 0
];
Expire 设置 key 的过期时间(秒)
  • key 过期后将不再可用
  • expire redis命令 Expire KEY_NAME TIME_IN_SECONDS
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('expire', [
    'myset1', 240
]); // true
// 设置成功返回true 设置失败返回false 
Expireat 命令用于以 UNIX 时间戳(unix timestamp)格式设置 key 的过期时间
  • key 过期后将不再可用
  • expireat redis命令 Expireat KEY_NAME TIME_IN_UNIX_TIMESTAMP
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('expireAt', [
    'myset1', time() + 240
]); // true
Pexpireat 设置 key 的过期时间,毫秒
  • key 过期后将不再可用
  • pexpireat redis命令 PEXPIREAT KEY_NAME TIME_IN_MILLISECONDS_IN_UNIX_TIMESTAMP
\Illuminate\Support\Facades\Redis::connection('expired')->set('xxxx', '42');
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('pExpireAt', [
    'xxxx', 1601187575000
]); // true
dump(
    \Illuminate\Support\Facades\Redis::connection('expired')->ttl('xxxx'),
    \Illuminate\Support\Facades\Redis::connection('expired')->pttl('xxxx')
);  // 9953    9952951
TTL 以秒为单位返回 key 的剩余过期时间
  • 当 key 不存在时,返回 -2
  • 当 key 存在但没有设置剩余生存时间时,返回 -1
  • 否则,以毫秒为单位,返回 key 的剩余生存时间
  • 在 Redis 2.8 以前,当 key 不存在,或者 key 没有设置剩余生存时间时,命令都返回 -1
  • ttl redis命令 TTL KEY_NAME
# 参考pexpireat
Pttl 以毫秒为单位返回 key 的剩余过期时间
  • 当 key 不存在时,返回 -2
  • 当 key 存在但没有设置剩余生存时间时,返回 -1
  • 否则,以毫秒为单位,返回 key 的剩余生存时间
  • 在 Redis 2.8 以前,当 key 不存在,或者 key 没有设置剩余生存时间时,命令都返回 -1
  • pttl redis命令 PTTL KEY_NAME
# 参考pexpireat
Exists 检查给定 key 是否存在
  • exists redis命令 EXISTS KEY_NAME
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('exists', [
    'xxxx'
]); // 1
\Illuminate\Support\Facades\Redis::connection('expired')->mSet(['foo' => 'foo', 'bar' => 'bar', 'baz' => 'baz']);
$return1 = \Illuminate\Support\Facades\Redis::connection('expired')->command('exists', [
    ['foo', 'bar', 'baz']
]); // 3
Keys 查找所有符合给定模式 pattern 的 key
  • keys redis命令 KEYS PATTERN
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('keys', [
    '*'
]); // ['weather', 'adasd']
// * 代表查出所有key    we*表示查出所有we开头的key
Rename 修改 key 的名称
  • 改名成功时提示 OK ,失败时候返回一个错误
  • 当 OLD_KEY_NAME 和 NEW_KEY_NAME 相同,或者 OLD_KEY_NAME 不存在时,返回一个错误
  • 当 NEW_KEY_NAME 已经存在时, RENAME 命令将覆盖旧值
  • rename redis命令 RENAME OLD_KEY_NAME NEW_KEY_NAME
// 将键as修改为as1 
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('rename', [
    'as', 'as1'  
]); // true
Renamenx 在新的 key 不存在时修改 key 的名称
  • renamenx redis命令 RENAMENX OLD_KEY_NAME NEW_KEY_NAME
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('renamenx', [
    'as', 'as1'
]); // true
Dump 序列化给定 key ,并返回被序列化的值
  • 如果 key 不存在,那么返回 nil 。 否则,返回序列化之后的值
  • dump redis命令 DUMP KEY_NAME
$return = \Illuminate\Support\Facades\Redis::connection('expired')->command('dump', [
    'as1'
]); // ^ b"\x00ÂÕÝ\x00\x00\t\x00Œ <‚9¯hy"
// redis里数据不会序列化 只是取值后序列化
Randomkey 从当前数据库中随机返回一个 key
  • 从当前数据库中随机返回一个 key
  • 当数据库不为空时,返回一个 key 。 当数据库为空时,返回 nil
  • randomkey redis命令 RANDOMKEY
 $return = \Illuminate\Support\Facades\Redis::connection('expired')->command('randomKey'); // 'foo'
Move 将当前数据库的 key 移动到给定的数据库 db 当中
  • move redis命令 MOVE KEY_NAME DESTINATION_DATABASE
// 将foo从当前库移除到8库
 $return = \Illuminate\Support\Facades\Redis::connection('expired')->command('move', [
    'foo', 8
 ]); // true
Persist 移除给定 key 的过期时间,使得 key 永不过期
  • 当过期时间移除成功时,返回 1 。 如果 key 不存在或 key 没有设置过期时间,返回 0
  • persist redis命令 PERSIST KEY_NAME
 $return = \Illuminate\Support\Facades\Redis::connection('expired')->command('persist', [
    'foo'
 ]); // true

相关文章

  • Redis学习笔记 -- 2

    接着上一篇接着介绍redis的知识 Redis Redis 键(key) Redis 键命令用于管理 redis ...

  • Redis:使用scan配合lua脚本进行删除key

    Redis SCAN 命令 Redis key(键)](https://www.runoob.com/redis/...

  • 数据库Redis(2)

    1. Redis键(Key) Redis keys命令 2. Redis HyperLogLog Redis Hy...

  • redis-cli常用命令

    redis-cli常用命令 键(key) keys * 注意: 由于redis是单线程的,因此在redis key...

  • Redis 键(key) 命令

    Redis 键(key) 命令 1> del 命令:该命令用于在 key 存在是删除 key格式:DEL key返...

  • Redis 键(key)

    Type 返回 key 所储存的值的类型 type[https://www.redis.net.cn/order/...

  • Redis 键(key)

    Redis 键命令用于管理 redis 的键。语法Redis 键命令的基本语法如下: 实例 在以上实例中 DEL ...

  • Redis键(Key)

    Redis keys 命令 下表给出了与 Redis 键相关的基本命令: 序号命令及描述 1DEL key 该命令...

  • redis 在 php 中的应用(key篇)

    KEY(键) Redis DEL 命令用于删除已存在的键。不存在的 key 会被忽略。 2、EXISTS Redi...

  • Redis key键命令

    redis是基于key -- value 存储的 NoSQL 数据库,那么下面来看看关于key的键命令。 键命令 ...

网友评论

      本文标题:Redis 键(key)

      本文链接:https://www.haomeiwen.com/subject/clvkuktx.html