redis通用命令
命令 | 说明 | 时间复杂度 |
---|---|---|
type key | 判断key的数据类型 | O(1) |
keys [pattern] | 获取数据库中所有符合pattern的key | O(n) |
dbsize | 获取数据库的key的数量 | O(1) |
exists key | 判断是否存在key;存在返回1,不存在返回0 | O(1) |
del key [key…] | 删除key;返回删除个数 | O(1) |
expire key seconds | 设置key在seconds秒后过期 | O(1) |
ttl key | 查看key的剩余过期时间;-1 表示永远不过期,-2 表示key已经不存在了 | O(1) |
persist key | 去掉key的过期时间 | O(1) |
string类型
- 结构
- key -> value
- age -> 20
- 注意
- value最大大小为512MB
- API
命令 | 格式 | 功能 | 备注 | 复杂度 |
---|---|---|---|---|
set | set key value | 新建/修改key-value | 不管key是否存在都可以 | O(1) |
setnx | setnx key value | 新建key-value | 当key不存在才能执行 | O(1) |
set key value xx | set key value xx | 修改key-value | 当key存在时才能执行 | O(1) |
mset | mset k1 v1 k2 v2 … | 批量设置key-value | 如果不存在则创建;如果存在则修改 | O(n) |
setrange | ||||
get | get key | 获取key对应的value | 不存在key,返回nil | O(1) |
mget | mget key1 key2 … | 批量获取key-value | 如果key不存在,返回nil | O(n) |
getrange | getrange key start end | 获取字符串指定下标的所有值 | O(1) | |
setrange | setrange key index value | 设置指定下标对应的值 | ||
getset | getset key value | 先获取key的value,再更新 | 如果key不存在,则返回nil,然后创建key-value | O(1) |
incr | incr key | 自增1 | 如果key不存在,则创建并返回1;如果不能自增,则报错 | O(1) |
incrby | incrby key n | 自增整数n | 如果key不存在,则创建并返回n;如果不能自增,则报错 |