Redis(十二)redis键(KEY)

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: Redis 键命令用于管理 redis 的键。

QQ图片20220425174222.jpg

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


这个知识点一直被我给忽略了,前几天在测试redis的数据类型的时候,就在想,我测试过程中建了那么多的键来存储对应的数据,虽说最后数据都被我清掉了,但是键应该还是一直存在的吧。


这个玩意怎么删呢?我要想查看一下,我都定义了那些键,这玩意是不是得有个命令啊?


时间比较紧,也没多想。


今天看到了这个redis键的命令,哦,原来你在这。


大概看下几个常用的redis-key命令:


一:linux命令


1:del删除键,成功返回1,失败返回0


del hash-key               // 返回(integer) 1


2:exists查看某个键是否存在,存在返回1,不存在返回0


exists hash-key            // (integer) 0,我们上边删除了


3:type返回该键存储值得类型


设置键string 存储string类型的数据


set string 'camellia'              // 返回OK


查看键string 存储的数据类型


type string                          // 返回string


4:rename 修改指定键的名称


将键string的名称改为str


rename string str                 // 返回OK


查询键string是否存在


exists string                         // 返回(integer) 0,不存在,因为改名了


查询键str是否存在


exists str                             // 返回 (integer) 1,存在


5:keys查看redis中所有的键或者,满足对应条件的键


查找键str


keys str


输出:


1)     "str"


查找键st


keys st


输出:


(empty list or set)


查找以st开头的所有键


keys st*


输出:


1) "string"
2) "str"


查看redis中所有键


keys *


输出:


1) "time"
 2) "111.206.221.110time"
 3) "111.206.198.77time"
 4) "123.125.71.80time"
 5) "test"


6:expire 设置键的过期时间,以秒来计算


设置键str过期时间为300秒


expire str 300        // 返回(integer) 1


7:persist 去除当前键设置的过期时间


persist str             // 返回(integer) 1


二:PHP命令


1:del,成功返回1,失败返回0


res=res = res=redis->del('hash-key'); var_dump($res);


2:exists,存在返回1,失败返回0


res=res = res=redis->exists('test'); var_dump($res);


3:type,这个命令与linux中有区别,linux中执行直接返回类型,而这个命令在PHP中执行返回0-5的数字,分别代表:


0不存在
1字符串
2集合
3列表
4有序集合
5哈希表


$res = $redis->type('miaoshaceshi');
var_dump($res);       // 返回3


4:rename修改键的名称,成功返回true,失败返回false


$res = $redis->rename('test','te');
    var_dump($res);


5:keys 查找所有键,或查找满足对应条件的键


$res = $redis->keys('*');
    var_dump($res);


输出:


array(32) { [0]=> string(13) "54.36.148.248" [1]=> string(4) "time" [2]=> string(19) "111.206.221.110time" [3]=> string(18) "111.206.198.77time" [4]=> string(17) "123.125.71.80time" [5]=> string(18) "216.244.66.238time"}


6:expire 设置过期时间,成功返回true,失败返回false


$res = $redis->expire('te',300);
var_dump($res);


7:persist 去除对应健值的过期时间,成功返回true,失败返回false


$res = $redis->persist('te');
var_dump($res);


下面放一些常用的redis-key的命令,有兴趣可以自己去尝试一下:


序号


命令及描述


1


DEL key
  该命令用于在 key 存在时删除 key。


2


DUMP key 
  序列化给定 key ,并返回被序列化的值。


3


EXISTS key 
  检查给定 key 是否存在。


4


EXPIRE key seconds
  为给定 key 设置过期时间,以秒计。


5


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


6


PEXPIRE key milliseconds 
  设置 key 的过期时间以毫秒计。


7


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


8


KEYS pattern 
  查找所有符合给定模式( pattern)的 key 。


9


MOVE key db 
  将当前数据库的 key 移动到给定的数据库 db 当中。


10


PERSIST key 
  移除 key 的过期时间,key 将持久保持。


11


PTTL key 
  以毫秒为单位返回 key 的剩余的过期时间。


12


TTL key 
  以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。


13


RANDOMKEY 
  从当前数据库中随机返回一个 key 。


14


RENAME key newkey 
  修改 key 的名称


15


RENAMENX   key newkey 
  仅当 newkey 不存在时,将 key 改名为 newkey 。


16


TYPE key 
  返回 key 所储存的值的类型。



目录
相关文章
|
7月前
|
缓存 NoSQL Java
Redis应用—6.热key探测设计与实践
热key问题在高并发系统中可能导致数据层和服务层的严重瓶颈,如Redis集群瘫痪和用户体验下降。为解决此问题,京东开发了JdHotkey热key探测框架,具备实时性、准确性、集群一致性和高性能等特点。该框架由etcd集群、Client端jar包、Worker端集群和Dashboard控制台组成,通过分布式计算快速识别热key并推送至应用内存,有效减轻数据层负载,提升服务性能。JdHotkey适用于多种场景,安装部署简便,支持毫秒级热key探测和集群一致性维护。
357 61
Redis应用—6.热key探测设计与实践
|
4月前
|
NoSQL 测试技术 Redis
Redis批量删除Key的三种方式
Redis批量删除Key是优化数据库性能的重要操作,本文介绍三种高效方法:1) 使用通配符匹配(KEYS/SCAN+DEL),适合不同数据规模;2) Lua脚本实现原子化删除,适用于需要事务保障的场景;3) 管道批量处理提升效率。根据实际需求选择合适方案,注意操作不可逆,建议先备份数据,避免内存溢出或阻塞。
|
存储 缓存 NoSQL
【Azure Redis 缓存】关于Azure Cache for Redis 服务在传输和存储键值对(Key/Value)的加密问题
【Azure Redis 缓存】关于Azure Cache for Redis 服务在传输和存储键值对(Key/Value)的加密问题
187 2
|
9月前
|
NoSQL API Redis
在C程序中实现类似Redis的SCAN机制的LevelDB大规模key分批扫描
通过上述步骤,可以在C程序中实现类似Redis的SCAN机制的LevelDB大规模key分批扫描。利用LevelDB的迭代器,可以高效地遍历和处理数据库中的大量键值对。该实现方法不仅简单易懂,还具有良好的性能和扩展性,希望能为您的开发工作提供实用的指导和帮助。
138 7
|
11月前
|
消息中间件 缓存 NoSQL
Redis 高并发竞争 key ,如何解决这个难点?
本文主要探讨 Redis 在高并发场景下的并发竞争 Key 问题,以及较为常用的两种解决方案(分布式锁+时间戳、利用消息队列)。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
Redis 高并发竞争 key ,如何解决这个难点?
|
11月前
|
存储 监控 NoSQL
Redis大Key问题如何排查?如何解决?
Redis大Key问题如何排查?如何解决?
471 0
Redis大Key问题如何排查?如何解决?
|
11月前
|
存储 NoSQL 算法
面试官:Redis 大 key 多 key,你要怎么拆分?
本文介绍了在Redis中处理大key和多key的几种策略,包括将大value拆分成多个key-value对、对包含大量元素的数据结构进行分桶处理、通过Hash结构减少key数量,以及如何合理拆分大Bitmap或布隆过滤器以提高效率和减少内存占用。这些方法有助于优化Redis性能,特别是在数据量庞大的场景下。
面试官:Redis 大 key 多 key,你要怎么拆分?
|
NoSQL Unix Redis
Redis 键(key)
10月更文挑战第15天
128 1
|
存储 缓存 NoSQL
Redis中大Key与热Key的解决方案
在工作中,Redis作为一款高性能缓存数据库被广泛应用,但常遇到“大key”和“热key”问题。“大key”指单个键包含大量数据,导致内存消耗高、性能下降及持久化效率降低;“热key”则是频繁访问的键,会引起CPU占用率高、请求阻塞等问题。本文详细分析了这些问题的定义、影响、原因,并提供了相应的解决方案,如合理设置缓存时间和数据结构、拆分大key、采用热点数据分片等方法。
909 4
Redis中大Key与热Key的解决方案

热门文章

最新文章