zoukankan      html  css  js  c++  java
  • Redis学习-String

    命令

     描述

     复杂的

     返回值

    SET key value [EX seconds]

    [PX milliseconds]

    [NX|XX]

    将字符串值value关联到key。如果key已经持有其他值,SET就覆写旧值,无视类型。对于某个原本带有生存时间的键来说, 当SET命令成功在这个键上执行时,这个键原有的TTL将被清除。   

    l   EX second:设置键的过期时间为secon秒。SET key value EX second效果等同于SETEX key second value 。

    l   PX millisecond:设置键的过期时间millisecond毫秒。SET key value PX millisecond效果等同于PSETEX key millisecond value。

    l   NX:只在键不存在时,才对键进行设置操作。SET key value NX效果等同于SETNX key value 。

    l   XX:只在键已经存在时,才对键进行设置操作。

    GET key

    返回ke所关联的字符串值。如果key不存在那么返回特殊值nil 。假如 key 储存的值不是字符串类型,返回一个错误,因为GET只能用于处理字符串值。

    O(1)

    DECR key

    DECRBY key decrement

    如果key不存在,那么key的值会先被初始化为0 ,然后再执行DECR 操作。如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。本操作的值限制在64位(bit)有符号数字表示之内。

    O(1)

    INCR key

    INCRBY key increment

    INCRBYFLOAT key incre

    如果 key不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR操作。如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

    O(1)

    APPEND key value

    如果key已经存在并且是一个字符串,APPEND命令将value追加到key原来的值的末尾。如果 key不存在, APPEND就简单地将给定key设为 value,就像执行SET key value一样

    平摊O(1)

    追加value之后, key中字符串的长度。

    BITCOUNT key [start] [end]

    计算给定字符串中,被设置为1的比特位的数量。一般情况下,给定的整个字符串都会被进行计数,通过指定额外的start或end参数,可以让计数只在特定的位上进行。start和end参数的设置和 GETRANGE命令类似,都可以使用负数值:比如-1表示最后一个字节, -2表示倒数第二个字节,以此类推。不存在的key被当成是空字符串来处理,因此对一个不存在的 key进行BITCOUNT操作,结果为 0。

    O(N)

    被设置为1的位的数量。

    SETBIT key offset value

    GETBIT key offset

    对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。位的设置或清除取决于 value 参数,可以是 0 也可以是 1 。当 key 不存在时,自动生成一个新的字符串值。字符串会进行伸展(grown)以确保它可以将 value 保存在指定的偏移量上。当字符串值进行伸展时,空白位置以 0 填充。offset 参数必须大于或等于 0 ,小于 2^32 (bit 映射被限制在 512 MB 之内)。

    O(1)

    指定偏移量原来储存的位。

    BITOP operation destkey key [key ...]

    对一个或多个保存二进制位的字符串key进行位元操作,并将结果保存到 destkey 上。operation 可以是 AND 、 OR 、 NOT 、 XOR 这四种操作中的任意一种.当 BITOP 处理不同长度的字符串时,较短的那个字符串所缺少的部分会被看作 0 。空的 key 也被看作是包含 0 的字符串序列。

    O(N)

    保存到destkey的字符串的长度,和输入 key 中最长的字符串长度相等。

    GETRANGE key start end

    返回 key中字符串值的子字符串,字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)。负数偏移量表示从字符串最后开始计数, -1 表示最后一个字符, -2 表示倒数第二个,以此类推。GETRANGE 通过保证子字符串的值域(range)不超过实际字符串的值域来处理超出范围的值域请求。

     O(N), N为要返回的字符串的长度.

    MGET key [key ...]

    MSET [key value ...]

    返回所有(一个或多个)给定key的值。

    同时设置一个或多个key-value对。

    O(N)

    MSETNX [key value ...]

    同时设置一个或多个key-value对,当且仅当所有给定key都不存在。MSETNX是原子性的

    PSETEX key milliseconds value

    SETEX key seconds value

    它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。

    将值value关联到 key ,并将key的生存时间设为seconds (以秒为单位)。如果key已经存在,SETEX命令将覆写旧值。

    SETNX key value

    将key的值设为value ,当且仅当key不存在。若给定的key已经存在,则SETNX不做任何动作。

    SETRANGE key offset value

    用value参数覆写给定key所储存的字符串值,从偏移量offset开始。不存在的key当作空白字符串处理。

    SETRANGE命令会确保字符串足够长以便将 value 设置在指定的偏移量上,如果给定 key 原来储存的字符串长度比偏移量小(比如字符串只有 5 个字符长,但你设置的 offset 是 10 ),那么原字符和偏移量之间的空白将用零字节(zerobytes, "x00" )来填充。

    对小(small)的字符串,平摊复杂度O(1)。则为O(M), M 为 value 参数的长度。

    STRLEN key

    返回 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误。

  • 相关阅读:
    项目Alpha冲刺(团队)-第七天冲刺
    NOIP模拟赛[补档]
    关于补档
    noip2017集训测试赛(三) Problem B: mex [补档]
    初赛准备 [补档]
    记录 [补档]
    Leave It Behind and Carry On ---- 高一下期末考反思 [补档]
    NOIP 2017 赛后反思 [补档]
    囤题 [补档]
    组合游戏学习笔记 [补档]
  • 原文地址:https://www.cnblogs.com/wxgblogs/p/6799388.html
Copyright © 2011-2022 走看看