Redis - API 使用

501 阅读3分钟

这是我参与8月更文挑战的第30天,活动详情查看:8月更文挑战

通用命令

查看所有的key

keys * 

根据通配符查找value

keys [pattern] 

keys 命令一般不在生产环境中使用

计算key的总数

dbsize 

判断key是否存在 存在返回1 不存在返回0

exists key 

删除指定的key-value

del key 

key设置过期时间

expire key sconds 

查看key剩余的过期时间

ttl key 
  • 返回值 >=0 是剩余过期时间

  • 返回值 = -1 表示key存在,没有过期时间

  • 返回值 = -2 表示key已经过期

去掉key的过期时间

persist key 

返回key的类型

type key 

Stringhashlistsetzset

字符串:

结构和命令

键值结构:key - valuevalue 本质上是二进制,不能大于512M

命令

获取key对应的value O(1)

get key 

设置key-value O(1)

set key value 

删除key-value O(1)

del key 

整型

key自增1,如果key不存在,自增后get(key) = 1 O(1)

incr key 

key自减1,如果key不存在,自减后get(key) = -1 O(1)

decr key 

key自增k,如果key不存在,自增后get(key) = k O(1)


incrby key k 

key自减k,如果key不存在,自减后get(key) = -k O(1)

decrby key k 

不管key是否存在都进行设置 O(1)

set key value 

key不存在,才设置 O(1)

setnx key value 

key存在,才设置 O(1)

set key value xx 

批量获取key,原子操作 O(n)

mget key1 key2 key3... 

批量设置key-value O(n)

mset key1 value1 key2 value2 key3 value3 ... 

n次get = n次网络时间 + n次命令时间

1次mget = 1次网络时间 + n次命令时间

设置新的值,并返回旧的value O(1)

getset key newvalue 

value追加到旧的value O(1)

append key value 

返回字符串长度(注意中文,一个中文两个字节) O(1)

strlen key 

增加key对应的值3.5 O(1)

incrbyfloat key 3.5 

获取字符串指定下标所有的值 O(1)

getrange key start end 

设置指定下标所有对应的值 O(1)

setrange key index value 

哈希

哈希键值结构:

key field value

特点:

field 不能相同,value可以相同

获取hash key对应的fieldvalue O(1)

hget key field 

设置hash key对应的fieldvalue O(1)


hset key field value 

删除hash key对应的fieldvalue O(1)

hdel key field 

判断hash key是否有field O(1)

hexists key field 

获取hash key field的数量 O(1)

hlen key 

批量获取hash key的一批field对应的值 O(n)

hmget key field1 field2 ... fieldN 

批量设置hash key的一批field value O(n)

hmset key field1 value1 field2 value2 ... fieldN valueN 

返回hash key对应所有的fieldvalue O(n)

hgetall key 

返回hash key对应所有fieldvalue O(n)

hvals key 

返回hash key对应所有field O(n)

hkeys key 

设置hash key对应的fieldvalue(如field已经存在,则失败) O(1)

hsetnx key field value 

hash key对应的fieldvalue自增intCounter O(1)

hincrby key field intCounter 

hincrby 浮点数版本 O(1)

hincrbyfloat key field floatCounter