1.redis基本命令--字符串

字符串

1.set

  • 注意:当 SET 命令对一个带有生存时间(TTL)的键进行设置之后, 该键原有的 TTL 将被清除。
  • 将键的过期时间设置为 seconds 秒:
    • SET key value EX seconds = SETEX key seconds value
  • 将键的过期时间设置为 milliseconds 毫秒
    • SET key value PX milliseconds = PSETEX key milliseconds value
  • 只在键不存在时,才对键进行设置操作
    • SET key value NX = SETNX key value
  • 只在键已经存在时, 才对键进行设置操作
    • SET key value XX = SETXX key value

2.get

  • 如果键 key 的值并非字符串类型,那么返回一个错误,因为 GET 命令只能用于字符串值。

 3.getset

  • 将键 key 的值设为 value ,并返回键 key 在被设置之前的旧值。

4.strlen key

  • 返回键 key 储存的字符串值的长度。
  • 当键 key 不存在时,命令返回 0。
  • 当 key 储存的不是字符串值时, 返回一个错误。

5.append key value

  • 如果键 key 已经存在并且它的值是一个字符串, APPEND 命令将把 value 追加到键 key 现有值的末尾。
  • 如果 key 不存在, APPEND 就简单地将键 key 的值设为 value , 就像执行 SET key value 一样。
  • 返回值为:追加 value 之后, 键 key 的值的长度。

6.setrange key offset value

  • 从偏移量 offset 开始,用 value 参数覆写(overwrite)键 key 储存的字符串值。
  • 不存在的键 key 当作空白字符串处理。
  • SETRANGE 命令会确保字符串足够长以便将 value 设置到指定的偏移量上, 如果键 key 原来储存的字符串长度比偏移量小(比如字符串只有 5 个字符长,但你设置的 offset 是 10 ), 那么原字符和偏移量之间的空白将用零字节(zerobytes, "\x00" )进行填充。
  • 因为 Redis 字符串的大小被限制在 512 兆(megabytes)以内, 所以用户能够使用的最大偏移量为 2^29-1(536870911) , 如果你需要使用比这更大的空间, 请使用多个 key 。
  • setrange存在的会被覆盖,不存在的追加,空的位置会补\x00

7.getrange key start end 

  • 字符串的截取范围由 start 和 end 两个偏移量决定 (包括 start 和 end 在内)。
  • 字符串的截取范围由 start 和 end 两个偏移量决定 (包括 start 和 end 在内)。
  • 负数偏移量表示从字符串的末尾开始计数, -1 表示最后一个字符, -2 表示倒数第二个字符。
  • 如果没有相交的位置的话,返回空字符串。

8.incr key

  • 为键 key 储存的数字值加上一。
  • 如果键 key 不存在, 那么它的值会先被初始化为 0 , 然后再执行 INCR 命令。
  • 如果键 key 储存的值不能被解释为数字, 那么 INCR 命令将返回一个错误。
  • 本操作的值限制在 64 位(bit)有符号数字表示之内。
  • INCR 命令是一个针对字符串的操作。 因为 Redis 并没有专用的整数类型, 所以键 key 储存的值在执行 INCR 命令时会被解释为十进制 64 位有符号整数。

9.incrby key increment

  • 为键 key 储存的数字值加上增量 increment 。
  • 如果键 key 不存在, 那么键 key 的值会先被初始化为 0 , 然后再执行 INCRBY 命令。
  • 如果键 key 储存的值不能被解释为数字, 那么 INCRBY 命令将返回一个错误。
  • 本操作的值限制在 64 位(bit)有符号数字表示之内。

10.incrbyfloat key increment

  • 为键 key 储存的值加上浮点数增量 increment
  • 如果键 key 不存在,那么 INCRBYFLOAT 会先将键 key 的值设为 0 ,然后再执行加法操作,返回的是加之后的值。
  • 如果命令执行成功, 那么键 key 的值会被更新为执行加法计算之后的新值, 并且新值会以字符串的形式返回给调用者。
  • 无论是键 key 的值还是增量 increment , 都可以使用像 2.0e7 、 3e5 、 90e-2 那样的指数符号(exponential notation)来表示, 但是, 执行 INCRBYFLOAT 命令之后的值总是以同样的形式储存, 也即是, 它们总是由一个数字, 一个(可选的)小数点和一个任意长度的小数部分组成(比如 3.14 、 69.768 ,诸如此类), 小数部分尾随的 0 会被移除, 如果可能的话, 命令还会将浮点数转换为整数(比如 3.0 会被保存成 3 )。
  • 无论加法计算所得的浮点数的实际精度有多长, INCRBYFLOAT 命令的计算结果最多只保留小数点的后十七位。
  • 当以下任意一个条件发生时, 命令返回一个错误:
  • 键 key 的值不是字符串类型(因为 Redis 中的数字和浮点数都以字符串的形式保存,所以它们都属于字符串类型);
  • 键 key 当前的值或者给定的增量 increment 不能被解释(parse)为双精度浮点数。

11.DECR key
12.DECRBY key decrement
13.MSET key value [key value …]

  • 同时为多个键设置值。
  • 如果某个给定键已经存在, 那么 MSET 将使用新值去覆盖旧值, 如果这不是你所希望的效果, 请考虑使用 MSETNX 命令, 这个命令只会在所有给定键都不存在的情况下进行设置。
  • MSET 是一个原子性(atomic)操作, 所有给定键都会在同一时间内被设置, 不会出现某些键被设置了但是另一些键没有被设置的情况。
  • 为多个key设置多个value的时候,不需要分隔符。

14.MSETNX key value [key value …]

  • 当且仅当所有给定键都不存在时, 为所有给定键设置值。
  • 即使只有一个给定键已经存在, MSETNX 命令也会拒绝执行对所有键的设置操作。
  • MSETNX 是一个原子性(atomic)操作, 所有给定键要么就全部都被设置, 要么就全部都不设置, 不可能出现第三种状态。

15.MGET key [key …]

 


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值