学习完Redis的常用数据结构之后,再来了解下Redis的通用命令,什么是通用命令呢?我理解就是数据结构无关的命令,只是把这些数据结构构造的redis都看做一个个redis。

key通用命令

key是一个固定的string类型,通过key可以获取redis实际存储的数据。

redis存储时间复杂度 redis命令时间复杂度_redis数据库相关操作


判断key自身状态相关操作的常用命令为

  • DEL:删除指定的key及其对应的value,时间复杂度O(N),N为删除的key数量
  • EXISTS:判断指定的key是否存在,返回1代表存在,0代表不存在,时间复杂度O(1)
  • TYPE:返回指定key的类型,string, list, set, zset, hash。时间复杂度O(1)

命令格式如下:

redis存储时间复杂度 redis命令时间复杂度_时间复杂度_02

key有效性控制相关操作的常用命令为

  • EXPIRE/PEXPIRE:为一个key设置有效期,单位为秒或毫秒,时间复杂度O(1)
  • TTL/PTTL:返回一个key剩余的有效时间,单位为秒或毫秒,时间复杂度O(1),如果key不存在返回-2,如果key存在返回值为-1,如果一个key设置了有效期,返回现在的剩余时长
  • PERSIST:设置key的时效性为永久。返回为1,操作成功,返回为0,操作失败

命令格式如下:

redis存储时间复杂度 redis命令时间复杂度_Redis通用指令_03


key快速查询的常用命令为:操作命令为 keys parttern,当然可以使用通配符去查询

redis存储时间复杂度 redis命令时间复杂度_Redis通用指令_04


key其它操作模式

  • RENAME/RENAMENX:将key重命名为newkey。使用RENAME时,如果newkey已经存在,其值会被覆盖;使用RENAMENX时,如果newkey已经存在,则不会进行任何操作,时间复杂度O(1)

命令格式如下:

redis存储时间复杂度 redis命令时间复杂度_redis存储时间复杂度_05


sort对key的value进行排序,但是不会实际改变key的内容,只是出个排序模式

数据库通用命令

一块内存中,redis会随机分配为16个数据库

redis存储时间复杂度 redis命令时间复杂度_时间复杂度_06


主要有如下几个命令:

redis存储时间复杂度 redis命令时间复杂度_keys的操作_07


实际上我们一直在0号数据库进行操作

redis存储时间复杂度 redis命令时间复杂度_redis存储时间复杂度_08


而且其实不同的库是可以用相同key的:

redis存储时间复杂度 redis命令时间复杂度_redis数据库相关操作_09


这个操作并不会覆盖。

redis存储时间复杂度 redis命令时间复杂度_时间复杂度_10


当然我也可以把当前库的key移动到其它库

redis存储时间复杂度 redis命令时间复杂度_Redis通用指令_11


当然我还可以把当前库的key清空设置把所有库的key清空

redis存储时间复杂度 redis命令时间复杂度_redis存储时间复杂度_12

以上就是一些通用的指令,接下来就能用java语言来操控redis啦!