一、redis key 命令
redis命令不区分大小写
1、EXISTS
redis的 EXISTS 命令用于检查指定的key是否存在。
可用版本:>= 1.0.0
返回值 | 说明 |
---|---|
0 | key不存在 |
1 | key存在 |
基本语法:
127.0.0.1(127.0.0.1:6379)>EXISTS test_key
"0"
127.0.0.1(127.0.0.1:6379)>EXISTS yes_key
"1"
2、PEXPIRE
redis PEXPIRE 这个命令和 EXPIRE 命令的作用类似,但是它以毫秒为单位设置 key 的过期时间,而不像 EXPIRE 命令那样,以秒为单位。
可用版本:>= 2.6.0
返回值 | 说明 |
---|---|
1 | 设置成功 |
0 | key 不存在或设置失败 |
基本语法:
127.0.0.1(127.0.0.1:6379)>pexpire test_key 2000
"1"
127.0.0.1(127.0.0.1:6379)>pexpire test_key_1 2000
"0"
3、TYPE
redis的 TYPE 命令用于返回指定key所存储的值的类型。
可用版本:>= 1.0.0
返回值的类型 | 说明 |
---|---|
none | key不存在 |
string | 字符串 |
list | 列表 |
set | 集合 |
zset | 有序集合 |
hash | 哈希表,map |
基本语法:
127.0.0.1(127.0.0.1:6379)>TYPE test_key
"none"
127.0.0.1(127.0.0.1:6379)>EXISTS yes_key
"string"
4、PTTL
redis PTTL 命令以毫秒为单位返回 key 的剩余过期时间。
可用版本:>= 2.6.0
返回值 | 说明 |
---|---|
当前剩余过期时间 | key剩余的过期时间,单位:毫秒 |
-1 | 当 key 存在,没有设置过期时间 |
-2 | key不存在 |
基本语法:
127.0.0.1(127.0.0.1:6379)>PTTL test_key
"599979342"
127.0.0.1(127.0.0.1:6379)>pttl test_key_1
"-1"
127.0.0.1(127.0.0.1:6379)>pttl test_key_2
"-2"
5、RENAME
Redis RENAME命令用于修改key的名称。
可用版本:>= 1.0.0
返回值 | 说明 |
---|---|
OK | 修改成功 |
错误码 | 修改失败 |
基本语法:
127.0.0.1(127.0.0.1:6379)>set test_key 1
"OK"
127.0.0.1(127.0.0.1:6379)>RENAME test_key test_key_1
"OK"
6、DEL
Redis DEL 命令用于删除已存在的键,不存在的 key 会被忽略。
可用版本:>= 1.0.0
返回值:被删除 key 的数量。
基本语法:
127.0.0.1(127.0.0.1:6379)>set test_key 1
"OK"
127.0.0.1(127.0.0.1:6379)>DEL test_key
"1"
二、redis string数据类型 命令
1、SET
Redis SET 命令用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。
可用版本:>= 1.0.0
返回值 | 说明 |
---|---|
OK | 2.6.12 以前版本, SET 命令总是返回 OK ;从 2.6.12 版本开始, 在设置操作成功完成时,才返回 OK |
基本语法:
127.0.0.1(127.0.0.1:6379)>SET str-test abc
"OK"
如果想set的时候存在则不set,并且设置过期时间,则使用语法:
127.0.0.1(127.0.0.1:6379)>SET str-sort abc nx px 60000
"OK"
127.0.0.1(127.0.0.1:6379)>SET str-sort abc nx px 60000
null
2、SETNX
redis setnx(set if not exists) 命令在指定的 key 不存在时,为 key 设置指定的值。
可用版本:>= 1.0.0
返回值 | 说明 |
---|---|
1 | key不存在,创建key并设置成功 |
0 | key存在,设置失败 |
基本语法:
127.0.0.1(127.0.0.1:6379)>setnx test_key 1
"1"
127.0.0.1(127.0.0.1:6379)>setnx test_key 2
"0"
3、GET
Redis Get 命令用于获取指定 key 的值。如果 key 不存在,返回 nil ;
可用版本:>= 1.0.0
返回值:返回 key 的值,如果 key 不存在时,返回 nil
基本语法:
127.0.0.1(127.0.0.1:6379)>GET str-test
"abc"
127.0.0.1(127.0.0.1:6379)>set str-int 100
"OK"
127.0.0.1(127.0.0.1:6379)>get str-int
"100"
4、GETRANGE
Redis Getrange 命令用于获取存储在指定 key 中字符串的子字符串。字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内),0:开始,-1:结束;
可用版本:>= 2.4.0‘
返回值:指定key获取到的子字符串
基本语法:
127.0.0.1(127.0.0.1:6379)>set a-string 'a b c d'
"OK"
127.0.0.1(127.0.0.1:6379)>get a-string
"a b c d"
127.0.0.1(127.0.0.1:6379)>getrange a-string 0 3
"a b "
127.0.0.1(127.0.0.1:6379)>getrange a-string 0 -1
"a b c d"
三、redis 哈希(Hash)数据类型 命令
1、HSET
redis HSET 命令用于为哈希表中的字段赋值 ,如果哈希表不存在,一个新的哈希表被创建并进行 HSET 操作;如果字段已经存在于哈希表中,旧值将被覆盖。
可用版本:>= 2.0.0
返回值 | 说明 |
---|---|
1 | 如果字段是哈希表中的一个新建字段,并且值设置成功 |
0 | 如果哈希表中域字段已经存在且旧值已被新值覆盖 |
基本语法:
127.0.0.1(127.0.0.1:6379)>HSET test_key field_1 1
"1"
127.0.0.1(127.0.0.1:6379)>HSET test_key field_1 2
"0"
2、HINCRBY
- redis hincrby 命令用于为哈希表中的字段值加上指定增量值
- 增量也可以为负数,相当于对指定字段进行减法操作
- 如果哈希表的 key 不存在,将创建一个新的哈希表并执行 HINCRBY 命令
- 如果指定的字段不存在,那么在执行命令前,字段的值被初始化为 0
- 对一个储存字符串值的字段执行 HINCRBY 命令将会报错
- 本操作的值被限制在 64 位(bit)有符号数字表示之内
可用版本:>= 2.0.0
返回值 | 说明 |
---|---|
哈希表中字段的值 | 计算过后的值 |
基本语法:
127.0.0.1(127.0.0.1:6379)>HINCRBY test_key field_1 1
"1"
127.0.0.1(127.0.0.1:6379)>HINCRBY test_key field_1 2
"3"
127.0.0.1(127.0.0.1:6379)>HINCRBY test_key field_3 'abc'
"ERR value is not an integer or out of range"
3、HEXISTS
redis HEXISTS 命令用于查看哈希表的指定字段是否存在。
可用版本:>= 2.0.0
返回值 | 说明 |
---|---|
1 | 哈希表指定字段存在 |
0 | 哈希表指定字段不存在 |
基本语法:
127.0.0.1(127.0.0.1:6379)>HEXISTS test_key field_1
"1"
127.0.0.1(127.0.0.1:6379)>hexists test_key field_2
"0"
由于时间原因,当前先只整理了这些命令,后续会持续更新,如果因为不完善给您带来不便,还请谅解。