zoukankan      html  css  js  c++  java
  • Redis字符串类型的操作

    set key value [ex 秒数] / [px 毫秒数]  [nx] /[xx]

    如: set a 1 ex 10 , 10秒有效

    Set a 1 px 9000  , 9秒有效

    注: 如果ex,px同时写,以后面的有效期为准

    如 set a 1 ex 100 px 9000, 实际有效期是9000毫秒

      nx: 表示key不存在时,执行操作

        xx: 表示key存在时,执行操作

    mset  multi set , 一次性设置多个键值

    例: mset key1 v1 key2 v2 ....

    get key 

    作用:获取key的值

    mget key1 key2 ..keyn

    作用:获取多个key的值

    setrange key offset value

    作用:把字符串的offset偏移字节,改成value

    redis 127.0.0.1:6379> set greet hello

    OK

    redis 127.0.0.1:6379> setrange greet 2 x

    (integer) 5

    redis 127.0.0.1:6379> get greet

    "hexlo"

    注意: 如果偏移量>字符长度, 该字符自动补0x00

    redis 127.0.0.1:6379> setrange greet 6 !

    (integer) 7

    redis 127.0.0.1:6379> get greet

    "heyyox00!"

    append key value

    作用: 把value追加到key的原值上

    getrange key start stop

    作用: 是获取字符串中 [start, stop]范围的值

    注意: 对于字符串的下标,左数从0开始,右数从-1开始

    redis 127.0.0.1:6379> set title 'chinese'

    OK

    redis 127.0.0.1:6379> getrange title 0 3

    "chin"

    redis 127.0.0.1:6379> getrange title 1 -2

    "hines"

    注意:

    1: start>=length, 则返回空字符串

    2: stop>=length,则截取至字符结尾

    3: 如果start 所处位置在stop右边, 返回空字符串

    getset key newvalue

    作用: 获取并返回旧值,设置新值

    redis 127.0.0.1:6379> set cnt 0

    OK

    redis 127.0.0.1:6379> getset cnt 1

    "0"

    redis 127.0.0.1:6379> getset cnt 2

    "1"

    incr key

    作用: 指定的key的值加1,并返回加1后的值

     注意:

    1:不存在的key当成0,再incr操作

    2: 范围为64有符号

    incrby key number

    redis 127.0.0.1:6379> incrby age  90

    (integer) 92

    incrbyfloat key floatnumber

    redis 127.0.0.1:6379> incrbyfloat age 3.5

    "95.5"

    decr key

    redis 127.0.0.1:6379> set age 20

    OK

    redis 127.0.0.1:6379> decr age

    (integer) 19

    decrby key number

    redis 127.0.0.1:6379> decrby age 3

    (integer) 16

    getbit key offset

    作用:获取值的二进制表示,对应位上的值(从左,从0编号)

    redis 127.0.0.1:6379> set char A

    OK

    redis 127.0.0.1:6379> getbit char 1

    (integer) 1

    redis 127.0.0.1:6379> getbit char 2

    (integer) 0

    redis 127.0.0.1:6379> getbit char 7

    (integer) 1

    setbit  key offset value

    设置offset对应二进制位上的值

    返回: 该位上的旧值

    注意:

    1:如果offset过大,则会在中间填充0,

    2: offset最大大到多少

    3:offset最大2^32-1,可推出最大的的字符串为512M

    bitop operation destkey key1 [key2 ...]

    对key1,key2..keyN作operation,并将结果保存到 destkey 上。

    operation 可以是 AND 、 OR 、 NOT 、 XOR

     redis 127.0.0.1:6379> setbit lower 7 0

    (integer) 0

    redis 127.0.0.1:6379> setbit lower 2 1

    (integer) 0

    redis 127.0.0.1:6379> get lower

    " "

    redis 127.0.0.1:6379> set char Q

    OK

    redis 127.0.0.1:6379> get char

    "Q"l

    redis 127.0.0.1:6379> bitop or char char lower

    (integer) 1

    redis 127.0.0.1:6379> get char

    "q"

     注意: 对于NOT操作, key不能多个

  • 相关阅读:
    POJ 2251 Dungeon Master
    HDU 3085 Nightmare Ⅱ
    CodeForces 1060 B Maximum Sum of Digits
    HDU 1166 敌兵布阵(树状数组)
    HDOJ 2050 折线分割平面
    HDU 5879 Cure
    HDU 1878 欧拉回路
    HDU 6225 Little Boxes
    ZOJ 2971 Give Me the Number
    HDU 2680 Choose the best route
  • 原文地址:https://www.cnblogs.com/vijayfly/p/5499041.html
Copyright © 2011-2022 走看看