String 可以存储任意类型数据。
DEL 删除给定的一个或多个 key
DUMP 序列化给定 key ,并返回被序列化的值
EXISTS 检查给定 key 是否存在。
EXPIRE 为给定 key 设置生存时间
EXPIREAT 为给定 key 设置生存时间
KEYS 查找所有符合给定模式 pattern 的 key 。
MIGRATE 将 key 原子性地从当前实例传送到目标实例的指定数据库上,一旦传送成功
MOVE 将当前数据库的 key 移动到给定的数据库 db 当中。
OBJECT OBJECT 命令允许从内部察看给定 key 的 Redis 对象
PERSIST 移除给定 key 的生存时间,将这个 key 从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key )
PEXPIRE 这个命令和 EXPIRE 命令的作用类似,但是它以毫秒为单位设置 key 的生存时间,而不像 EXPIRE 命令那样,以秒为单位
PEXPIREAT 这个命令和 EXPIREAT 命令类似,但它以毫秒为单位设置 key 的过期 unix 时间戳,而不是像 EXPIREAT 那样,以秒为单位
PTTL 这个命令类似于 TTL 命令,但它以毫秒为单位返回 key 的剩余生存时间,而不是像 TTL 命令那样,以秒为单位
RANDOMKEY 从当前数据库中随机返回(不删除)一个 key 。
RENAME 将 key 改名为 newkey
RENAMENX 当且仅当 newkey 不存在时,将 key 改名为 newkey 。
RESTORE 反序列化给定的序列化值,并将它和给定的 key 关联
SORT 返回或保存给定列表、集合、有序集合 key 中经过排序的元素
TTL 以秒为单位,返回给定 key 的剩余生存时间
TYPE 返回 key 所储存的值的类型
SCAN 命令用于迭代当前数据库中的数据库键
APPEND 将 value 追加到 key 原来的值的末尾
BITCOUNT 计算给定字符串中,被设置为 1 的比特位的数量。
BITOP
DECR 将 key 中储存的数字值减一。
DECRBY 将 key 所储存的值减去减量 decrement
GET 返回 key 所关联的字符串值。
GETBIT 对 key 所储存的字符串值,获取指定偏移量上的位(bit)。
GETRANGE 返回 key 中字符串值的子字符串,字符串的截取范围由 start 和 end 两个偏移量决定
GETSET 将给定 key 的值设为 value ,并返回 key 的旧值
INCR 将 key 中储存的数字值增一。
INCRBY 将 key 所储存的值加上增量 increment 。
INCRBYFLOAT 为 key 中所储存的值加上浮点数增量 increment 。
MGET 返回所有(一个或多个)给定 key 的值。
MSET 同时设置一个或多个 key-value 对。
MSETNX 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
PSETEX 这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。
SET 将字符串值 value 关联到 key 。
SETBIT 对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
SETEX 将值 value 关联到 key ,并将 key 的生存时间设为 seconds
SETNX 将 key 的值设为 value ,当且仅当 key 不存在。
SETRANGE 用 value 参数覆写(overwrite)给定 key 所储存的字符串值,从偏移量 offset 开始
STRLEN 返回 key 所储存的字符串值的长度。
List String类型的双向链表
BLPOP 阻塞移除头元素
BRPOP 阻塞移除尾部元素
BRPOPLPUSH 阻塞执行RPOPLPUSH
LINDEX 返回列表 key 中,下标为 index 的元素。
LINSERT 将值 value 插入到列表 key 当中,位于值 pivot 之前或之后。
LLEN 返回列表 key 的长度。
LPOP 移除并返回列表 key 的头元素。
LPUSH 将一个或多个值 value 插入到列表 key 的表头
LPUSHX 将值 value 插入到列表 key 的表头,当且仅当 key 存在并且是一个列表。
LRANGE 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。
LREM 根据参数 count 的值,移除列表中与参数 value 相等的元素。
LSET 将列表 key 下标为 index 的元素的值设置为 value 。
LTRIM 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
RPOP 移除并返回列表 key 的尾元素。
RPOPLPUSH 原子执行pop和push 然后把pop出的指返回
RPUSH 将一个或多个值 value 插入到列表 key 的表尾(最右边)。
RPUSHX 将值 value 插入到列表 key 的表尾,当且仅当 key 存在并且是一个列表。
Set
SADD 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略
SCARD 返回集合 key 的基数(集合中元素的数量)。
SDIFF 返回一个集合的全部成员,该集合是所有给定集合之间的差集。
SDIFFSTORE 这个命令的作用和 SDIFF 类似,但它将结果保存到 destination 集合,而不是简单地返回结果集
SINTER 返回一个集合的全部成员,该集合是所有给定集合的交集。
SINTERSTORE 这个命令类似于 SINTER 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。
SISMEMBER 判断 member 元素是否集合 key 的成员。
SMEMBERS 返回集合 key 中的所有成员。
SMOVE 将 member 元素从 source 集合移动到 destination 集合。
SPOP 移除并返回集合中的一个随机元素。
SRANDMEMBER 如果命令执行时,只提供了 key 参数,那么返回集合中的一个随机元素。
SREM 移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。
SUNION 返回一个集合的全部成员,该集合是所有给定集合的并集。
SUNIONSTORE 这个命令类似于 SUNION 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。
SSCAN
SortSet
ZADD 将一个或多个 member 元素及其 score 值加入到有序集 key 当中。
ZCARD 返回有序集 key 的基数。
ZCOUNT 返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量。
ZINCRBY 为有序集 key 的成员 member 的 score 值加上增量 increment 。
ZRANGE 返回有序集 key 中,指定区间内的成员。
ZRANGEBYSCORE 返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列。
ZRANK 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递增(从小到大)顺序排列。
ZREM 移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。
ZREMRANGEBYRANK 移除有序集 key 中,指定排名(rank)区间内的所有成员。
ZREMRANGEBYSCORE 移除有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。
ZREVRANGE 返回有序集 key 中,指定区间内的成员。
ZREVRANGEBYSCORE 返回有序集 key 中, score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所有的成员。有序集成员按 score 值递减(从大到小)的次序排列。
ZREVRANK 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递减(从大到小)排序。
ZSCORE 返回有序集 key 中,成员 member 的 score 值。
ZUNIONSTORE 计算给定的一个或多个有序集的并集,其中给定 key 的数量必须以 numkeys 参数指定,并将该并集(结果集)储存到 destination
ZINTERSTORE 计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指定,并将该交集(结果集)储存到 destination
ZSCAN
ZRANGEBYLEX
ZLEXCOUNT 对于一个所有成员的分值都相同的有序集合键 key 来说, 这个命令会返回该集合中, 成员介于 min 和 max 范围内的元素数量
ZREMRANGEBYLEX 对于一个所有成员的分值都相同的有序集合键 key 来说, 这个命令会移除该集合中, 成员介于 min 和 max 范围内的所有元素
Hash
HDEL 删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。
HEXISTS 查看哈希表 key 中,给定域 field 是否存在。
HGET 返回哈希表 key 中给定域 field 的值。
HGETALL 返回哈希表 key 中,所有的域和值。
HINCRBY 为哈希表 key 中的域 field 的值加上增量 increment 。
HINCRBYFLOAT 为哈希表 key 中的域 field 加上浮点数增量 increment
HKEYS 返回哈希表 key 中的所有域。
HLEN 返回哈希表 key 中域的数量。
HMGET 返回哈希表 key 中,一个或多个给定域的值。
HMSET 同时将多个 field-value (域-值)对设置到哈希表 key 中。
HSET 将哈希表 key 中的域 field 的值设为 value 。
HSETNX 将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。
HVALS 返回哈希表 key 中所有域的值。
HSCAN
redis 事务
DISCARD 取消事务,放弃执行事务块内的所有命令。
EXEC 执行所有事务块内的命令。
MULTI 标记一个事务块的开始。事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令原子性(atomic)地执行。
UNWATCH 取消 WATCH 命令对所有 key 的监视。
WATCH 监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。
例子
WATCH name
multi
set name one
set name two
exec
redis 发布、订阅
PSUBSCRIBE 订阅一个或多个符合给定模式的频道。
PUBLISH 将信息 message 发送到指定的频道 channel 。
PUBSUB
PUNSUBSCRIBE 指示客户端退订所有给定模式。
SUBSCRIBE 订阅给定的一个或多个频道的信息。
UNSUBSCRIBE 指示客户端退订给定的频道。
例子
服务端发送服务:
publish news "hello wolrd"
客户端订阅服务:
SUBSCRIBE news