Redis学习记录(二)

redis命令

基本命令

  1. 心跳命令 ping
  2. 读写键值命令 set  get
  3. DB切换,select(数据库切换)
  4. 查看数据库中的key数量  dbsize
  5. 删除当前库中的数据 flushdb
  6. 删除所有库中的数据 flushall
  7. 退出客户端命令 exit、quit
  8. 查找所有符合pattern的key  keys  [pattern](正则表达式),一般不用,大数据库中会阻塞服务。

key命令

  1.  查看key是否存在 exists key(存在返回1,否则返回0)
  2. 删除key ,del key....
  3. 改名 rename
  4. 将key移动到指定db中 move key db
  5. 返回key的类型 type key
  6. 给key设置生存时间 expire/pexpire key seconds(expire的时间单位是秒,pexpire的时间单位为毫秒)。
  7. 查看key的剩余生存时间  ttl/pttl key(ttl的时间单位是秒,pttl的时间单位是毫秒)
  8. 去除给定key的生存时间,将key从volatile(易失的)转为持久的 presist key
  9. 随机返回一个key  randomkey
  10. scan cursor [match xxxx] [count xxxx] [type xxxx] 迭代数据库中的键。(cursor:迭代开始的下标;pattern:匹配模式;count:要从数据集中返回多少元素;type:要返回的value的类型)
  11. hscan,对value为hash类型进行操作
  12. sscan, 对value为set类型进行操作
  13. zscan, 对value为zset类型进行操作。

String类型的value命令

  1. 写入值    set key value [ex seconds | px millseconds] [nx|xx] (ex设置生存时间,单位为秒;px单位为毫秒;nx:添加key,只有key不存在才能设置成功;xx:只有存在才能设置成功,更新key)注意:如果value字符串中有空格,需要用双引号或单引号引起来,否则报错。
  2. setex/psetex key seconds value   既赋值又设置生存时间。(setex单位为秒,pestex为毫秒)
  3. setnx key value  将 key 的值设为 value ,当且仅当 key 不存在。若给定的 key 已经存在,则 SETNX 不做任何动作。成功,返回 1,否则,返回 0。等价于 set key value nx
  4. getset key value   将给定 key 的值设为 value ,并返回 key 的旧值。
  5. mset/msetnx  key value ......设置多对key-value(如果某个给定 key 已经存在,那么 MSET 会用新值覆盖原来的旧值,如果这不 是你所希望的效果,请考虑使用 MSETNX 命令:它只会在所有给定 key 都不存在的情 况下进行设置操作。)
  6. mget key....  (同时获取多个key)
  7. append key value (如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原 来的值的末尾。如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像 执行 SET key value 一样。)
  8. incr/decr key 自增、自减
  9. incrby/decrby key n    将 key 中存储的数字值增加/减少指定的数值,这个数值只能是整数,可以是负数
  10. incrbyfloat  key  n    为 key 中所储存的值加上浮点数增量
  11. strlen  key  字符串长度
  12. getrange key  start end 返回范围内的字串
  13. setrange key offset value  替换 从偏移量 offset 开始替换给定 key 所储存的字符串值 str

Hash类型Value命令

  1. hset key field value.....  将哈希表 key 中的域 field 的值设为 value 。
  2. hget ket field  返回哈希表 key 中给定域 field 的值。
  3. hmset key field value [field value ...] 同时将多个 field-value (域-值)对设置到哈希表 key 中。
  4. hmget key field [field ...]  按照给出顺序返回哈希表 key 中一个或多个域的值。
  5. hgetall key 返回哈希表 key 中所有的域和值。
  6. hsetnx key field value  将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。
  7. hdel key field......    删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。
  8. hexits key field    查看哈希表 key 中给定域 field 是否存在。
  9. hincrby/hincrbyfloat key field xxxx    为哈希表 key 中的域 field 的值加上增量 xxxx。hincrby 命令只能增加整 数值,而 hincrbyfloat 可以增加小数值。
  10. hkeys/hvals key   返回哈希表 key 中的所有域/值。
  11. hlen key 返回key中域的数量
  12. hstrlen key field   :返回哈希表 key 中, 与给定域 field 相关联的值的字符串长度(string length)返回字串。

List型Value命令

  1. lpush/rpush key [value......]    将一个或多个值 value 插入到列表 key 的表头/表尾(表头在左表尾在右)
  2. llen key 返回列表 key 的长度
  3. lindex key index   返回列表 key 中,下标为 index 的元素。
  4. lset key index value  将列表 key 下标为 index 的元素的值设置为 value 。
  5. lrange key start stop   返回列表 key 中指定区间[start, stop]内的元素
  6. lpushx/rpushx key value 将值 value 插入到列表 key 的表头/表尾,当且仅当 key 存在并且是一个列表。
  7. linsert key before/after pivot value 在元素 pivot 前或后,插入value
  8. lpop/rpop key [count]   从列表 key 的表头/表尾移除 count 个元素,并返回移除的元素。count 默认值 1
  9. blpop/brpop [key....] timeout   当给定列表内没有任何元素可供弹出的时候,连接将被 blpop/brpop 命令阻 塞,直到等待 timeout 超时或发现可弹出元素为止。当timeout=0时,永远阻塞
  10. rpoplpush key destination   将列表key的尾元素弹出,并将该元素插入到列表 destination ,作为 destination 列表的的头元素
  11. brpoplpush  key destination timeout      当给定列表 key不为空时, brpoplpush  的表现和 rpoplpush  一样。当列表 source 为空时, brpoplpush  命令 将阻塞连接,直到等待超时,或有另一个客户端对 key执行 lpush或 rpush 命令 为止。timeout=0只要没有数据将永远阻塞。
  12. lrem key count value   根据参数 count 的值,移除列表中与参数 value 相等的元素。count 的值可以 是以下几种:  count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。 count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的 绝对值。 count = 0 : 移除表中所有与 value 相等的值。
  13. ltrim key start stop 列表key只保留指定区间内的元素.

Set类型Value操作命令

  1. sadd key member....    将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。
  2. smembers  key  返回集合 key 中的所有成员。一般不用
  3. scard key   返回 Set 集合的长度
  4. sismember  key memeber   判断 member 元素是否集合 key 的成员。
  5. smove  source destination member    将 member 元素从 source 集合移动到 destination 集合。(如果 source 集合不存在或不包含指定的 member 元素,则 SMOVE 命令不执
    行任何操作,仅返回 0 。否则, member 元素从 source 集合中被移除,并添加到
    destination 集合中去,返回 1 。当 destination 集合已经包含 member 元素时,
    SMOVE 命令只是简单地将 source 集合中的 member 元素删除。当 source destination
    是集合类型时,返回一个错误)
  6. srem key member [member ...]  移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略,且返回成功移除的元素个数
  7. srandmember  key [count]    返回集合中的 count 个随机元素。 count 默认值为 1
  8. spop key [count]  移除并返回集合中的 count 个随机元素。 count 必须为正数,且默认值为 1
  9. sdiff key [key ...] /sdiffstore destination key [key ...]   返回第一个集合与其它集合之间的差集。sdiffstore 不仅能够显示差集,还能将差集存储到指定的集合 destination 中。如果destination 集合已经存在,则将其覆盖。不存在的 key 被视为空集。
  10. sinter  key [key ...]/ sinterstore destination key [key ...]  返回多个集合间的交集。sinterstore 不仅能够显示交集,还能将交集存储到指定的集合 destination 中。如果 destination 集合已经存在,则将其覆盖。不存在的 key被视为空集。
  11. sunion / sunionstore 求并集,其他与前面两个相同。
有序Set类型Value操作命令
  1. zadd key score member....   :将一个或多个 member 元素及其 score 值加入到有序集 key 中的适当位置。
  2. zrange/zrevrange key start stop [WITHSCORES]    返回有序集 key 中,指定区间内的成员。zrange 命令会按 score 值递增排序, zrevrange命令会按score递减排序。具有相同 score 值的成员按字典序/逆字典序排列。 可以通过使用 WITHSCORES 选项,来让成员和它的 score 值一并返回。
  3. zrangebyscore   key min max [WITHSCORES] [LIMIT offset count]/zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count]   返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或max )的成员。有序集成员按 score 值递增/递减次序排列。具有相同 score 值的成员按字典序/逆字典序排列。可选的 LIMIT 参数指定返回结果的数量及区间(就像 SQL 中的SELECT LIMIT offset, count ),注意当 offset 很大时,定位 offset 的操作可能需要遍历整个有序集,此过程效率可能会较低。可选的 WITHSCORES 参数决定结果集是单单返回有序集的成员,还是将有序集成员及其 score 值一起返回。
  4. zcard key  返回集合的长度
  5. zcount key min max  
    返回有序集 key 中,
    score 值在 min max 之间 ( 默认包括 score 值等于 min 或 max ) 的成员的数量。
  6. zincrby key increment member   为有序集 key 的成员 member score 值加上增量 increment
  7. zrank/zrevrank  key member  返回有序集 key 中成员 member 的排名。zrank 命令会按 score 值递增排序,zrevrank 命令会按 score 递减排序。
  8. zrem key member.....    移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。
  9. zremrangebyrank  key start stop   移除有序集 key 中,指定排名(rank)区间内的所有成员。
  10. zremrangebyscore   key min max   移除有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或max )的成员。
  11. zrangebylex  key min max [LIMIT offset count]   该命令仅适用于集合中所有成员都具有相同分值的情况。当有序集合的所有成员都具有相同的分值时,有序集合的元素会根据成员的字典序(lexicographical ordering)来进行排序。即这个命令返回给定集合中元素值介于 min 和 max 之间的成员。如果有序集合里面的成员带有不同的分值, 那么命令的执行结果与zrange key 效果相同。
  12. zlexcount  key min max  该命令仅适用于集合中所有成员都具有相同分值的情况。该命令返回该集合中元素值本身(而非 score 值)介于 min 和 max 范围内的元素数量。
  13. zremrangebylex   key min max  该命令仅适用于集合中所有成员都具有相同分值的情况。该命令会移除该集合中元素值本身介于 min 和 max 范围内的所有元素。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值