Redis经常使用命令

1.基本命令

  • 查询当前库的全部键:keys *java

  • 查看某个键是否存在:exists <key>数据库

  • 查看键的类型: type keycode

  • 删除某个键:del key排序

  • 为键值设置过时时间:expire <key> <seconds>索引

  • 查看还有多少秒过时(-1永不过时,-2已过时):ttl <key>rem

  • 查看当前数据库key的数量:dbsize字符串

  • 清空当前库:flushdbget

  • 清空全部库:flushallstring


2.String命令

  • 查询键对应的键值:get <key>hash

  • 添加键值对:set <key> <value>

  • 获取值的长度:strlen <key>

  • 只有键不存在时添加键值对:setnx <key> <value>

  • 将key对应的值 +/- 1(只能对数字使用)若是为空则新增值为1(-1):incr / decr <key>

  • 将key中存储的数字递增/减 (只能对数字使用),自定义步长:incrby / decrby <key> <步长>

  • 同时设置一个或多个键值对:mset <key1> <value1> <key2> <value2> ...

  • 同时获取一个或多个value:mget <key1> <key2> <key3> ...

  • 同时设置一个或多个键值对,当且仅当全部给定的key都不存在:msetnx <key1> <value1> <key2> <value2> ...

  • 获取值的范围,相似于java的substring,可是包前也包后:getrange <key> <起始位置> <结束位置>

  • 用value覆写key所储存的字符串值,从起始位置开始:setrange <key> <起始位置> <value>

  • 设置键值的同时设置过时时间:setex <key> <过时时间> <value>

  • 设置新值的同时获取旧值:getset <key> <value>


3.List命令

  • 从左边/右边插入一个或多个值:lpush/rpush <key> <value1> <value2> ...
  • 从左边/右边弹出一个值,若是时最后一个值,键销毁:lpop/rpop <key>
  • 从key1列表右边弹出一个值插到key2列表左边:rpoplpush <key1> <key2>
  • 按照索引下标得到多个元素(从左到右),尾部是-1:lrange <key> <start> <end>
  • 按照索引下标得到元素(从左到右):lindex <key> <index>
  • 得到列表的长度:llen <key>
  • 在value的前/后面插入newvalue的值(只对从左到右的第一次出现的value有效):linsert <key> before/after <value> <newvalue>
  • n>0时,从左边开始删除n个value;n<0时,从右边开始删除n个value;n=0时,删除全部value:lrem <key> <n> <value>

4.set命令

  • 向set中添加元素,已存在的会忽略:sadd <key> <value1> <value2> <value3> ...
  • 得到set里的全部值:smembers <key>
  • 判断set里是否存在某个值,存在返回1,不存在返回0:sismember <key> <value>
  • 返回集合的元素个数:scard <key>
  • 删除集合中的某些元素:srem <key> <value1> <value2> ...
  • 随机从集合中弹出多个值,弹出后值在集合中会消失:spop <key> <count>
  • 随机从集合中取出多个值,取出后值在集合中不会消失:srandmember <key> <count>
  • 返回两个集合中的交集元素:sinter <key1> <key2>
  • 返回两个集合中的并集元素:sunion <key1> <key2>
  • 返回两个集合中的差集元素:sdiff <key1> <key2>

5.hash命令

  • 向集合中的field赋值value:hset <key> <field> <value>
  • 从集合中取出指定field的value:hget <key> <field>
  • 批量向集合中的field赋值value:hmset <key> <field1> <value1> <field2> <value2> ...
  • 查看集合中是否存在指定field的值:hexists <key> <field>
  • 获取集合中的全部field:hkeys <key>
  • 获取集合中的全部value:hvals <key>
  • 获取集合中的全部filed和value:hgetall <key>
  • 为集合中的指定field的value设置增量(能够为负):hincrby <key> <filed> <count>
  • 将集合中的filed的值设置为value,当且仅当field不存在时生效:hsetnx <key> <field> <value>

6.zset命令

  • 将一个或多个value添加到集合中(相同元素不一样分数,会把分数更新,相同分数不一样元素,可以正常排序):zadd <key> <score1> <value1> <score2> <value2> <score3> <value3>...
  • 返回集合中下标在start和end之间value,若是带WITHSOCORES,能够带分数一块儿返回,顺序为从小到大:zrange <key> <start> <end> [WITHSCORES]
  • 返回集合中下标在start和end之间value,若是带WITHSOCORES,能够带分数一块儿返回,顺序为从大到小:zrevrange <key> <start> <end> [WITHSCORES]
  • 返回集合中全部score值接域min和max之间(前包后包)的成员。有序集成员按照score值从小到大次序排列:zrangebyscore key min max [withscores]
  • 返回集合中全部score值接域min和max之间(前包后包)的成员。有序集成员按照score值从大到小次序排列:zrevrangebyscore key min max [withscores]
  • 为集合中的元素增长分数:zincrby <key> <increment> <value>
  • 删除集合中的指定元素:zrem <key> <value>
  • 统计集合中分数区间内的元素个数:zcount <key> <min> <max>
  • 返回该元素在集合中的排名(能够判断元素是否存在集合中):zrank <key> <value>
相关文章
相关标签/搜索