zoukankan      html  css  js  c++  java
  • Redis常见操作命令

    1.库相关

      select 索引  =》  选择库

      dbsize  =》  查询当前库中Key的数量

      flushdb  =》  清空当前库

      flushall  =》  清空所有库(建议不要用,除非你跑路)

    2.Key相关

      keys *  =》  取出当前库所有Key

      exists {Key}  =》  判断Key是否存在,存在返回1,不存在返回0

      move {Key} {DbIndex}  =》  从当前库剪切指定Key到指定库中

      expire {Key} {秒}  =》  为指定的Key设置过期时间

      ttl {Key}  =》  查看指定Key还有多少秒过期,-1表示永不过期,-2表示已过期

      type {Key}  =》  查看Key是什么类型

    3.String相关

      set {Key} {Value}  =》  新建一个String类型的缓存数据

      get {Key}  =》  根据Key获取Value

      del {Key}  =》  根据Key删除缓存

      append {Key} {String}  =》  根据Key在Value的末尾增加字符串

      strlen {Key}  =》  根据Key返回Value的长度

      incr {Key}  =》  对指定Key的Value数值加1(要求Value可以转换为数值,否则返回错误)

      decr {Key}  =》  对指定Key的Value数值减1(要求Value可以转换为数值,否则返回错误)

      incrby {Key} {Num}  =》  对指定Key的Value数值加Num(要求Value可以转换为数值,否则返回错误)

      decrby {Key} {Num}  =》  对指定Key的Value数值减Num(要求Value可以转换为数值,否则返回错误)

      getrange {Key} {StartNum} {EndNum}  =》  根据Key获取Value指定区域范围内的值(只是返回并没有对Value进行截取)

      setrange {Key} {StartNum} {String}  =》  根据Key对Value指定区间范围内的值进行覆写

      setex {Key} {秒} {Value}  =》  新建一个String类型的缓存数据并设置过期时间

      setnx {Key} {Value}  =》  新建一个String类型的缓存数据,存在则不进行任何操作,不存在则创建。

      mset {Key1} {Value1} {Key2} {Value2}...   =》  用于同时创建多个String类型的缓存数据

      mget {Key1} {Key2}....  =》  用于同时获取多个Key的Value

      msetnx {Key1} {Value1} {Key2} {Value2}...   =》  用于同时创建多个String类型的缓存数据,若其中某一个Key已经存在,则不执行任何操作。

      getset {Key} {Value}  =>  先获取指定Key的Value值,如不存在则返回null,然后对指定Key设置Value值。(先get后set)

    4.List相关(值可以重复)

      lpush {Key} {Value1} {Value2}...  =》  将Value值挨个插入到指定Key的头部,如lpush mylist a b c,则第一个元素为c,第二个为b,第三个为a(后进先出)

      rpush {Key} {Value1} {Value2}...  =》  将Value值挨个插入到指定Key的尾部,如rpush mylist a b c,则第一个元素为a,第二个为b,第三个为c(先进先出)

      lrange {Key} {StartNum} {EndNum}  =》 根据Key获取Value指定区域范围内的值(只是返回并没有对Value进行截取)

      lpop {Key}  =》  获取栈顶元素并删除

      rpop {Key}  =》  获取栈尾元素并删除

      lindex {Key} {Index}  =》  通过Key获取Value指定索引的值

      llen {Key}  =》  获取指定Key的Value长度

      lrem {Key} {Count} {Value}  =》  从指定Key的Value中移除指定个数的Value值

      ltrim {Key} {StartIndex} {EndIndex}  =》  截取指定范围的值后再赋给Key

      rpoplpush {Key1} {Key2}  =》  将Key1栈尾的元素添加到Key2的栈顶

      lset {Key} {Index} {Value}  =》  将Key对应的列表指定的索引设置为Value

      linsert {Key} {before|after} {Value1} {Value2}  =》在Value1之前或之后插入Value2

    5.Set相关(值不可以重复,一般用于去重、过滤,因为Set无序无重复)

      sadd {Key} {Value1} {Value2} ...  =>   新建一个Set类型的缓存数据

      smembers {Key}  =>  获取指定Key的Value

      sismember {Key} {Value}  =》  指定的Value是否存在于Key中

      scard {Key}  =》  获取指定Key中元素的个数

      srem {Key} {Value1} {Value2}  =》  删除集合中指定的元素

      srandmember {Key} {Num}  =》  从集合中获取指定数量的随机元素

      spop {Key} {Num}  =》  从集合中删除指定数量的随机元素

      smove {Key1} {Key2} {Key1‘s Value}  =》  将Key1中的指定元素赋给Key2

      sdiff {Key1} {Key2}  =》  求两个集合之间的差集

      sinter {Key1} {Key2}  =》  求两个集合之间的交集

      sunion {Key1} {Key2}  =》   求两个集合之间的并集

    6.Hash相关(哈希,Key/Value模式不变,但Value是一个键值对)

      hset {Key} {ValueKey} {ValueValue}  =》  新建一个Hash类型的缓存数据,例如 hset person name fanqi

      hmset {Key} {ValueKey1} {ValueValue1} {ValueKey2} {ValueValue2}  =》  新建一个Hash类型的缓存数据,支持多个字段,例如 hset person name fanqi age 24

      hget {Key} {ValueKey}  =》  获取哈希字段的值

      hmget {Key} {ValueKey1} {ValueKey2}  =》  获取多个哈希字段的值

      hgetall {Key}  =》  获取哈希中的所有字段和值

      hdel {Key} {ValueKey1} {ValueKey2}  =》  删除一个或多个散列字段

      hlen {Key}  =》  获取哈希中的字段数

      hexists {Key} {ValueKey}  =》  判断是否存在指定的哈希字段,存在返回1,不存在返回0

      hkeys {Key}  =》  获取散列中的所有字段

      hvals {Key}  =》  获取哈希值中的所有值

      hincrby {Key} {ValueKey} {Num}  =》  按给点数字递增哈希字段的整数值

      hincrbyfloat {Key} {ValueKey} {Num}   =》  按给点数字递增哈希字段的小数值

      hsetnx {Key} {ValueKey} {ValueValue}  =》  仅当字段不存在时,设置哈希字段的值

    7.ZSet【Sorted Set】相关(在Set的基础上,加一个Score值)

      zadd {Key} {Score1} {Value1} {Score2} {Value2}  =》  新建一个ZSet类型的缓存数据

      zrange {Key} {StartIndex} {EndIndex} [withscores]  =》  根据Key获取Value指定区域范围内的值(只是返回并没有对Value进行截取),可以传递withscores选项以便将元素的分数与元素一起返回。

      zrangebyscore {Key} {mix} {max} [withscores] [limit 开始下标 多少步]  =》  返回排序集合中key得分在min 和max之间(包含)的所有元素,可以使用(来表示不包含。

      zrem {Key} {Value}  =》  删除该元素,对应的分数score也随之删除

      zcard {Key}  =》  获取元素个数

      zcount {Key} {StartScore} {EndScore}  =》  统计指定分数区间的元素个数

      zrank {Key} {Value}  =》  拿到指定元素的下标

      zscore {Key} {Value}   =》  输出Value对应的分数

      zrevrank {Key} {Value}  =》  逆序获得元素的下标值

      zrevrange {Key} {StartIndex} {EndIndex}  =》  根据Key逆序获取Value指定区域范围内的值

      zrevrangebyscore {Key} {Max} {Min}  =》  返回排序集合中key得分在max 和之间min(包括得分等于max或min的元素)的所有元素,分数从高分到低分排序。

       

      

      

       

  • 相关阅读:
    SQL GUID和自增列做主键的优缺点
    python __future__ 的几种特性
    数据库中文乱码处理
    Android_Intent意图详解
    Windows Server 2012 R2超级虚拟化之六 Hyper-v Replica 2.0和Live migrations
    如今网站定位,需立足于用户
    Hibernate 数据的批量插入、更新和删除
    paip.提升用户体验---论文本编辑器的色彩方案
    时间管理方法学习
    网站优化:从搜索引擎到社交网络的艰难转变
  • 原文地址:https://www.cnblogs.com/fanqisoft/p/10419577.html
Copyright © 2011-2022 走看看