key 操作
- exists key 检查key是否存在,若key存在返回1,否则返回0
- scan cursor [MATCH pattern] [COUNT count], cursor - 游标。 pattern - 匹配的模式。 count - 指定从数据集里返回多少元素,默认值为 10
- 例子1: scan 0 a* 10
- 例子2: scan 0 match key*
- 例子3: scan 0 match key* count 10
- keys pattern 查找所有符合给定模式的key,通常用于查找key,线上查询禁止使用
- expire key seconds 为key设置超时时间(单位:秒),当key过期时,会被系统自动删除
- ttl key 以秒为单位返回key的剩余生存时间(time to live),当key不存在时返回-2,当key存在未设置生存时间时返回-1
- pttl key 这个命令和ttl类似,它以毫秒为单位返回key的剩余生存时间
- move key db 将key移动到指定数据库中
- type key 返回key存储的值的类型,返回none(不存在)、string(字符串)、list(列表)、set(集合)、zset(有序集合)、hash(哈希表)
string
- get key 返回key的值,若key不存在则返回nil,若key存储的值不是字符串则返回错误
- mget key [key...] 依次返回一个或多个key的值,若key不存在返回nil,若key存在但不是字符串返回nil
- strlen key 返回key所存储的字符串的长度,当key不存在时返回0,当key存在但不是字符串时返回错误
- append key value 将指定的值追加到key末尾,若key不存在,则创建并赋值,返回追加后的字符串长度
- set key value [ex seconds] [px milliseconds] [nx|xx] 为key设置值,ex和px均为设置过期时间只不过单位不同,nx表示只有key不存在时才进行操作,xx表示只有key存在时才进行操作
- setex key seconds value 设置带生存时间的key的值,以秒为单位
- setnx key value 为key设置值,若key已存在则不进行任何操作
- mset key value [key value...] 为一组或多组key设置值,该操作为原子操作,要么一组都设置成功,要么一组都设置失败
- msetnx key value [key value...] 与mset不同的是msetnx中的key必须是不存在的,若有一个已存在则会整体失败
list
- LPUSH key value [value ...] //将一个或多个值value插入到key列表的表头(最左边)
- RPUSH key value [value ...] //将一个或多个值value插入到key列表的表尾(最右边)
- LPOP key //移除并返回key列表的头元素
- RPOP key //移除并返回key列表的尾元素
- LRANGE key start stop //返回列表key中指定区间内的元素,区间以偏移量start和stop指定
- BLPOP key [key ...] timeout //从key列表表头弹出一个元素,若列表中没有元素,阻塞等待timeout秒,如果timeout=0,一直阻塞等待
- BRPOP key [key ...] timeout //从key列表表尾弹出一个元素,若列表中没有元素,阻塞等待timeout秒,如果timeout=0,一直阻塞等待
hash
- hgetall key 获取hash表中所有field的值
- hexists key field 判断hash表中指定field是否存在,返回1;若key或field不存在则返回0
- hget key field 获取hash表中指定field的值,key或field不存在时返回nil
- hmget key field[field...] 获取hash表中多个指定field的值,若key不存在返回空,若field不存在返回nil
- hkeys key 返回hash表中的所有field,若key不存在返回空
- hvals key 返回hash表中的所有val,若key不存在返回空
- hdel key field[field...] 删除hash表中指定field,若key或field不存在则会忽略
- hset key field value 将field-value设置到hash表中,若key不存在会新建hash表再赋值,若field已存在则会覆盖现有值
- hsetnx key field value 和hset类似,但是hsetnx要求field不存在才能进行此操作,否则会返回0
set
- smembers key 列出集合key中的所有成员
- scard key 返回集合key中元素的个数
- sdiff key[key...] 获取集合的差集,若key为1个则返回集合的全部成员
- sunion key[key...] 返回集合的并集,不存在的key会被当做空集处理
- spop key 移除并返回集合中的一个随机元素,当key不存在时返回NULL
- sismember key member 判断member在key中是否已存在返回0或1
- sadd key member[member...] 将一个或多个member元素加入到集合key中,若member已存在那么会忽略此元素
- smove source destination member 将元素member从source移动到destination;若member在destination中已存在只会删除source中的数据,若source或member不存在会返回0,若destination不存在则会创建后再进行操作
- srem key member[member] 移除key中的一个或多个member元素,不存在的member会被忽略
zset
- zrange key start stop [WITHSCORES] 通过索引区间返回有序集合指定区间内的成员
- zrangebyscore key min max [WITHSCORES] [LIMIT] 通过分数返回有序集合指定区间内的成员
- zscore key member 返回有序集中,成员的分数值
- zcard key 获取有序集合的成员数
- zcount key min max 计算在有序集合中指定区间分数的成员数
- zrank key member 返回有序集合中指定成员的索引