Redis系列之Key操作

>>强大,10k+点赞的 SpringBoot 后台管理系统竟然出了详细教程!
Redis系列之Key操作

前言

之前我们在介绍Redis时就说过Redis是以K-V键值对形式存储的,那么对于Redis而言,这个Key无疑就显得十分的重要和关键,对于数据的检索获取都得以它为基础去操作,那么今天我们就来看看Redis中那些关于Key的操作,OK,开始我们今天的Redis之旅。

语法

Redis key的语法格式如下:command keyname

Redis keys 命令

讲key之前我想先对Redis数据存储做个说明,Redis中默认把内存空间分成16份独立的区域,可以理解为分为16个数据库,默认情况下使用的第0个数据库,例如:

Redis系列之Key操作

所以我们对一个Key的所有操作都是指在当前库下的操作,这点要注意

添加key:set key value

Redis系列之Key操作

查询key的值:get key

Redis系列之Key操作

查询当前库中所有的key值:keys *

Redis系列之Key操作

删除key:del key ··· (如果需要同时删除多个key直接空格然后在后面添加即可)

Redis系列之Key操作

序列化key并返回:dump key

Redis系列之Key操作

检查key是否存在:exists key [key2 key3 ...]

Redis系列之Key操作

设置key的过期时间(默认是秒):expire key seconds 

Redis系列之Key操作

设置key的过期时间(某个时间点的时间戳):expireat key timestamp

Redis系列之Key操作

匹配查询key:keys pattern

Redis系列之Key操作

将当前库中的key移到指定库中:move key dbindex

Redis系列之Key操作

取消key的过期时间:persist key

Redis系列之Key操作

以毫秒时间返回key的剩余过期时间:pttl key(注意:-1表示永不过期)

Redis系列之Key操作

以秒返回key剩余过期时间:ttl key

Redis系列之Key操作

从当前数据库中随机返回一个 key:randomkey(可能有人会问这返回是不是有规律的,其实是没有规律的,并且每个key被选中的次数都是差不多的,这个key用来做类似抽奖的场景)

Redis系列之Key操作

修改 key 的名称:rename key newkey

Redis系列之Key操作

修改key的名称,仅仅当key不存在时才修改:renamenx key newkey

我们会发现rename同一个已经存在的key会出现下面情况,这显然是不合理的

Redis系列之Key操作

所以我们应该使用另一个命令来修改key的值,防止发生key被丢失

Redis系列之Key操作

返回 key 所储存的值的类型:type key

Redis系列之Key操作

其实type的返回类型有我们所说的5大类型,后面我们会一一介绍的

以上就是Redis中常见的对key的操作,掌握这些基本上就已经差不多了

Redis系列之Key操作

原文始发于微信公众号(Justin的后端书架):Redis系列之Key操作