🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## 基础命令 - 获得符合规则的键名列表 ``` KEYS pattern ``` | 符号 | 含义 | | --- | --- | | ? | 匹配一个字符 | | * | 匹配任意个字符(包括0个) | | [] | 匹配括号间的任意字符 | | \x | 匹配字符x 用于转义 比如 ?, * | - 判断一个键是否存在 ``` EXISTS key ``` 存在返回 1 否则返回 0 - 删除键 ``` DEL key [key ... ] ``` 删除一个或多个键 返回删除键的个数 - 获得键值的数据类型 ``` TYPE key ``` 返回 字符串 string, 散列 hash, 列表 list, 集合 set, 有序集合 zset - 匹配模式下删除 ``` redis-cli keys "pattern" | xargs redis-cli del redis-cli -n 数据库ID keys "pattern" | xargs redis-cli -n 数据库ID del ``` ## 字符串 string 命令 - 赋值与取值 单个键值设置获取 ``` SET key value GET key ``` 多个键值设置获取 ``` MSET key value [key value ...] MGET key [key ...] ``` - 增加/减少 +1 -1 ``` INCR key DECR key ``` +n -n ``` INCRBY key increment DECRBY key decrement ``` +浮点数 ``` INCRBYFLOAT key increment ``` - 向尾部添加值 ``` APPEND key value ``` 返回追加后字符串的长度 - 获取字符串长度 ``` STRLEN key ``` 返回键值长度 不存在返回0 ## 散列 hash 命令 - 赋值取值 单字段 ``` HSET key field value HGET key field ``` 多字段 ``` HMSET key field value [field value ...] HMGET key field [field ...] ``` - 获取所有字段和字段值 ``` HGETALL key ``` - 判断字段是否存在 ``` HEXISTS key field ``` 存在返回1 否则0 - 字段不存在时赋值 ``` HSETNX key field value ``` - 增加数字 ``` HINCRBY key field increment ``` - 删除字段 ``` HDEL key field [field ...] ``` 返回删除字段个数 - 只获取字段名或字段值 ``` HKEYS key HVALS key ``` - 获取字段数量 ``` HLEN key ``` ## 列表 list 命令 - 向列表两端增加元素 ``` LPUSH key value [value ...] RPUSH key value [value ...] ``` - 从列表两端弹出元素 ``` LPOP key RPOP key ``` - 获取列表中元素个数 ``` LLEN key ``` - 获得列表片段 ``` LRANGE key start stop ``` 返回从索引 [start, stop] 区间的所有元素 索引从 0 开始 支持负索引 -1 是最右第一个元素 - 删除列表中指定的值 ``` LREM key count value ``` - 获取/设置指定索引的元素值 ``` LINDEX key index LSET key index value ``` - 只保留列表指定片段 ``` LTRIM key start stop ``` - 向列表中插入元素 ``` LINSERT key BEFORE|AFTER pivot value ``` - 将元素从一个列表转到另一个列表 ``` RPOPLPUSH source destination ``` ## 集合 set 命令 - 增加/删除元素 ``` SADD key member [member ...] SREM key member [member ...] ``` - 获得集合中所有元素 ``` SMEMBERS key ``` - 判断是否在集合中 ``` SISMEMBER key member ``` - 差运算 ``` SDIFF key [key ...] ``` A 差 B = 属于A且不属于B的元素构成的集合 - 交运算 ``` SINTER key [key ...] ``` A 交 B = 属于A且属于B的元素构成的集合 - 并运算 ``` SUNION key [key ...] ``` A 并 B = 属于A或属于B的元素构成的集合 - 获得集合中元素个数 ``` SCARD key ``` - 进行集合运算并将结果存储 ``` SDIFFSTORE destination key [key ...] SINTERSTORE destination key [key ...] SUNIONSTORE destination key [key ...] ``` - 随机获得集合中的元素 ``` SRANDMEMBER key [count] ``` - 从集合中弹出一个元素 ``` SPOP key ``` ## 有序集合 zet 命令 **注** `+inf` 和 `-inf` 分别表示正负无穷 - 增加元素 ``` ZADD key [NX|XX] [CH] [INCR] score member [score member ...] ``` - 获得元素的分数 ``` ZSCORE key member ``` - 获得排名在某个范围的元素列表 ``` ZRANGE key start stop [WITHSCORES] ``` - 获得指定分数范围的元素 ``` ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] ``` - 增加某个元素分数 ``` ZINCRBY key increment member ``` - 获得集合中元素的数量 ``` ZCARD key ``` - 获得指定分数范围内的元素个数 ``` ZCOUNT key min max ``` - 删除一个或多个元素 ``` ZREM key member [member ...] ``` - 按照排名范围删除元素 ``` ZREMRANGEBYRANK key start stop ``` - 按照分数范围删除元素 ``` ZREMRANGEBYSCORE key min max ``` - 获得元素的排名 ``` ZRANK key member ZREVRANK key member ``` - 计算有序集合的交集 ``` ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX] ```