Key
- 显示所有键:keys *
- 创建一个键值对:set k1 v1
- 启动指定的key到另一个数据库:move k1 2
- 查看某个key是否存在:exists k1
- 通过key得到value:get k1
- 设置key的有效期:expire k1 100 【也表示重置过期时间】
- 查看key的剩余有效期:ttl k1
- 如果查看剩余有效期返回的是 -1 那么表示该key有效期为无限期,也表示该key没有设置有效期
- 表示清除key的过期时间,使key持久化:persist key1
- 删除某个key:del k1
- 注意:如果当前数据库中有k1,那么再次set一个k1,后来的value将覆盖前一个value
- 查看某个key的数据类型:type k1
String
- set、get、del、append、strlen
- incr【key如果是数字,那么+1】
- decr【key如果是数字,那么-1】
- incrby【key如果是数字,那么给key加上特点的数】
- decrby【key如果是数字,那么给key减去特点的数】
- getrange:获取指定区间范围内的值,类似between........and的关系
- setrange:设置指定区间范围内的值,格式是setrange key值 具体值
- 创建(key,value)键值对,并设置过期时间:setex k4 10 v4
- 如果不存在才创建:setnx str11 v11
- mset、mget、msetnx
List
- lpush、rpush、lrange【返回列表中指定区间内的元素】、
- lpop【从 list 的头部删除元素,并返回删除元素】、rpop【从 list 的尾部删除元素,并返回删除元素】
- lindex【命令用于通过索引获取列表中的元素。你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推】
- llen【命令用于返回列表的长度。 如果列表 key 不存在,则 key 被解释为一个空列表,返回 0 。 如果 key 不是列表类型,返回一个错误】
- lrem【根据参数 COUNT(2) 的值,移除列表中与参数 VALUE(3) 相等的元素】
- count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT 。
- count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。
- count = 0 : 移除表中所有与 VALUE 相等的值。
- ltrim【对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。】
- rpoplpush 【命令用于移除列表的最后一个元素,并将该元素添加到另一个列表并返回】
- lset【通过索引来设置元素的值,当索引参数超出范围,或对一个空列表进行 LSET 时,返回一个错误】
- linsert 【命令用于在列表的元素前或者后插入元素】
- 当指定元素不存在于列表中时,不执行任何操作。
- 当列表不存在时,被视为空列表,不执行任何操作。
- 如果 key 不是列表类型,返回一个错误。
- List性能总结:
Set
- sadd【命令将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略】
- 假如集合 key 不存在,则创建一个只包含添加的元素作成员的集合。
- 当集合 key 不是集合类型时,返回一个错误。
- smembers【命令返回集合中的所有的成员】
- 不存在的集合 key 被视为空集合
- sismember【命令判断成员元素是否是集合的成员】
- scard【获取集合里面的元素个数】
- srem【删除指定的集合中的元素】
- srandmember【用于返回集合中的一个或多个随机元素】
- spop【随机出栈】
- smove set01 set012 member【指定成员 member 元素从 set01 集合移动到 set02集合】
- smove是原子性操作。
- 如果 set01 集合不存在或不包含指定的 member 元素,则 smove 命令不执行任何操作,仅返回 0 。否则, member 元素从 set01 集合中被移除,并添加到 set02 集合中去。
- 当 set02 集合已经包含 member 元素时, smove 命令只是简单地将 set01 集合中的 member 元素删除。
- 当 set01 或 set02 不是集合类型时,返回一个错误。
-
数学集合类:
- 差集:sdiff【在第一个set里面而不在后边任何一个set里面的项】
- 交集:sinter
- 并集:sunion
-
Hash
KV模式不变,但V是一个键值对
- hset、hget、hmset、hmget、hgetall、hdel
- hlen
- hexists
- hkeys【获取哈希表中的所有域】
- hvals【返回哈希表所有域(field)的值】
- hincrby【为哈希表中的字段值加上指定增量值】
- 增量也可以为负数,相当于对指定字段进行减法操作。
如果哈希表的 key 不存在,一个新的哈希表被创建并执行 hincrby命令。
如果指定的字段不存在,那么在执行命令前,字段的值被初始化为 0 。
对一个储存字符串值的字段执行 hincrby命令将造成一个错误。
本操作的值被限制在 64 位(bit)有符号数字表示之内。
- hincrbyfloat【为哈希表中的字段值加上指定浮点数增量值】
- 如果指定的字段不存在,那么在执行命令前,字段的值被初始化为 0 。
- hsetnx【用于为哈希表中不存在的的字段赋值】
- 如果哈希表不存在,一个新的哈希表被创建并进行 HSET 操作。
- 如果字段已经存在于哈希表中,操作无效。
如果 key 不存在,一个新哈希表被创建并执行 HSETNX 命令。
Zset(sorted set)
多说一句:
- zadd、zrange
- zrangebyscore 【返回有序集合中指定分数区间的成员列表。有序集成员按分数值递增(从小到大)次序排列】
- 具有相同分数值的成员按字典序来排列(该属性是有序集提供的,不需要额外的计算)。
- 默认情况下,区间的取值使用闭区间 (小于等于或大于等于),你也可以通过给参数前增加 ( 符号,表示不包含。
- limit作用是返回限制【从下标为2开始的两个value返回】,类似于分页
- zrem【用于移除有序集中的一个或多个成员,不存在的成员将被忽略】
- zcard【用于计算集合中元素的数量】
- zcount【用于计算有序集合中指定分数区间的成员数量】
- zrank【返回有序集中指定成员的排名】
- 其中有序集成员按分数值递增(从小到大)顺序排列
- zscore【返回有序集中,成员的分数值】
- 如果成员元素不是有序集 key 的成员,或 key 不存在,返回 nil
- zrevrank【返回有序集中成员的排名】【简单来说就是逆序】
- 其中有序集成员按分数值递减(从大到小)排序
- 排名以 0 为底,也就是说, 分数值最大的成员排名为 0
- 使用 zrank 命令可以获得成员按分数值递增(从小到大)排列的排名
-
- zrevrange【返回有序集中,指定区间内的成员】【相当于倒序输出】
- 其中成员的位置按分数值递减(从大到小)来排列
- 具有相同分数值的成员按字典序的逆序(reverse lexicographical order)排列
- 除了成员按分数值递减的次序排列这一点外, zrevrange 命令的其他方面和 zrange 命令一样
- zrevrangebyscore【返回有序集中指定分数区间内的所有的成员】
- 有序集成员按分数值递减(从大到小)的次序排列
- 具有相同分数值的成员按字典序的逆序(reverse lexicographical order )排列
- 除了成员按分数值递减的次序排列这一点外, zrevrangebyscore命令的其他方面和zrangebyscore 命令一样