• redis操作


    1、字符串命令

    get 获取存储在给定键中的值
    set 设置存储在给定键中的值
    del 删除存储在给定键中的值(这个命令可以用于所有类型)
    
    incr    incr key-name    将键存储的值加上1
    decr    decr key-name    将键存储的值减去1
    incrby    incrby key-name amount    将键存储的值加上整数amount
    decrby    decrby key-name amount    将键存储的值减去整数amount
    incrbyfloat    incrbyfloat key-name amount    将键存储的值加上浮点数amount,redis2.6或以上版本可用
    竟然没有decrbyfloat?不好实现??
    

    如果用户对一个不存在的键或者一个保存了空串的键执行自增或自减操作,那么redis在执行操作时会将键的值当作是0来处理。如果用户尝试对一个无法解释为整数或者浮点数的字符串执行自增或者自减操作,那么redis将返回一个错误。

    # 还有这些操作
    append    append key-name value
    getrange    getrange key-name start end
    setrange    setrange key-name offset value
    getbit    getbit key-name offset
    setbit    setbit key-name offset value
    bitcount    bitcount key-name [start end]
    bitop
    

    在使用setrangesetbit命令对字符串操作时,如果字符串长度不能满足写入的要求,redis会自动使用空字节(null)来将字符串扩展到所需长度。使用getrange读取字符串时,超出部分视为空串,getbit读取二进制位时,超出部分是为0。

    2、redis中的列表

    列表中的元素是可以重复的

    LPUSH和RPUSH    LPUSH/RPUSH key-name value [value ...]    将给定值推入列表的左端(右端)
    LPOP和RPOP    LPOP/RPOP key-name    从列表的左端(右端)弹出元素
    LRANGE    LRANGE key-name start end    获取列表在给定范围上的所有元素,包括start和end
    LINDEX    LINDEX key-name    offset    获取列表在给定位置上的一个元素
    LTRIM    LTRIM key-name start end    只保留从start偏移量到end偏移量范围内的元素,包括start和end
    

    阻塞式的列表弹出命令以及在列表之间移动元素的命令

    # 还有这些操作
    blpop    blpop key-name [key-name ...] timeout
    brpop    brpop key-name [key-name ...] timeout
    rpoplpush    rpoplpush source-key desc-key timeout
    brpoplpush    brpoplpush source-key desc-key timeout
    

    3、redis的散列

    redis的散列可以存储多个键值对之间的映射。和字符串一样,散列存储的值既可以是字符串也可以是数字值,用户可以对散列存储的数字值执行自增或自减操作。

    hset 在散列里面关联起给定的键值对
    hget 获取指定散列键的值
    hgetall 获取散列包含的所有键值对
    hdel 如果给定键存在于散列里面,那么移除这个键
    

    4、redis的集合

    redis的集合和列表都可以存储多个字符串,它们的区别在于,列表可以存储多个相同的字符串,而集合则通过使用散列来保证自己存储的每个字符串是不同的(这些散列表只有键,但没有和键相关联的值)。

    sadd    sadd key-name item [item ...]    将给定元素添加到集合
    srem    srem key-name item [item ...]    如果给定的元素存在于集合中,那么移出这个元素
    sismember    sismember key-name item    检查给定元素是否存在于集合中
    smembers    smembers key-name    返回集合中包含的所有元素(如果集合中有很多元素,那么这个命令执行会很慢)
    scard    scard key-name    返回集合中包含的元素数量
    srandmember    srandmember key-name [count]    从集合中随机返回一个或多个元素,当count为正数时,返回的随机元素不会重复;当count为负数时,返回的随机元素可能会重复,卧槽-_-##,这操作666。
    spop    spop key-name    随机移除集合中一个元素,返回移除的元素。
    smove    smove source-key dest-key name    如果source-key包含元素item,那么从集合source-key里面移除元素item,并将元素item添加到集合dest-key中;如果item被成功移除,那么命令返回1,否则返回0。
    

    用于组合和处理多个集合的redis命令

    # 还有这些操作
    sdiff    sdiff key-name [key-name ...]
    sinter    sinter key-name [key-name ...]
    sunion    sunion key-name [key-name ...]
    sdiffstore    sdiffstore dest-key key-name [key-name ...]
    sinterstore    sinterstore dest-key key-name [key-name ...]
    sunionstore    sunionstore dest-key key-name [key-name ...]
    

    5、redis的有序集合

    有序集合和散列一样,都用于存储键值对:有序集合的键被称为成员(member),每个键都是各不相同;而有序集合的值被称为分值(score),分支必须为浮点数。有序集合是redis里面唯一一个既可以根据成员访问元素(这一点和散列一样),又可以根据分值及分值的排列顺序来访问元素的结构。

    zadd 将一个带有给定分值的成员添加到有序集合里
    zrange 根据元素在有序排列中所处的位置,从有序集合里获取多个元素
    zrangescore 获取有序集合在给定分值范围内的所有元素
    zrem 如果给定成员存在于有序集合,那么移除该成员
    zinterstore 可以组合一个过多个有序集合,并将有序集合包含的分值都乘以一个给定数
    

    6、redis基本事务

    redis有五个命令可以让用户在不被打断的情况下对多个键执行操作,它们分别是watch、multi、exec、unwatch、discard。

    7、键的过期时间

    expire    expire key-name seconds    让给定的键在指定秒数之后过期
    expireat    expireat key-name timestamp    给指定的键设置在给定的unix时间戳过期
    pexpireat    pexpireat key-name timestamp-milliseconds    将一个毫秒级精度的unix时间戳设置为给定键的过期时间,redis2.6或以上可用。
    ttl    ttl key-name    查看给定键距离过期时间还有多少秒
    pttl    pttl key-name    查看给定键距离过期时间还有多少毫秒
    persist     persist key-name    移除键的过期时间
    
  • 相关阅读:
    JS正则手机靓号处理AB ABAB AABB
    url参数中有+、空格、=、%、&、#等特殊符号的问题解决
    LigerUI 使用教程表格篇
    JS获取地址栏参数
    手机端meta
    最大连续子序列 hdu 1231
    I NEED A OFFER! hdu1203(背包)
    Bookshelf 2 poj3628(01背包/DFS)
    Charm Bracelet poj3624(01背包)
    985的方格难题(dp)
  • 原文地址:https://www.cnblogs.com/mengHeJiuQIan/p/10164587.html
Copyright © 2020-2023  润新知