zoukankan      html  css  js  c++  java
  • redis基本操作 —— string

    一、设置指定key的值 

      命令:set

      格式:set key value

    127.0.0.1:6379> set test_key test_value
    OK

    二、获取指定key的值

      命令:get

      格式:get key

    127.0.0.1:6379> get test_key
    "test_value"

    三、对 key 所储存的字符串值,获取在指定区间的子串

      命令:getrange

      格式:getrange key start end

      说明:start为开始index,end为结束index,index从0开始

    127.0.0.1:6379> GETRANGE test_key 2 3
    "st"
    127.0.0.1:6379> getrange test_key 1 3
    "est"
    127.0.0.1:6379> getrange test_key 0 3
    "test"
    127.0.0.1:6379> getrange test_key 3 4
    "t_"

    四、将给定 key 的值设为 value ,并返回 key 的旧值(old value)。

      命令:getset

      格式:getset key value

    127.0.0.1:6379> getset test_key test_value_2
    "test_value"
    127.0.0.1:6379> get test_key
    "test_value_2"

    五、对 key 所储存的字符串值,获取指定偏移量上的位(bit)

      命令:getbit

      格式:getbit key offset  

      test_key当前的值"test_value_2",首字母"t"的ASCII码的二进制为0111 0100,故:

    127.0.0.1:6379> getbit test_key 0
    (integer) 0
    127.0.0.1:6379> getbit test_key 1
    (integer) 1
    127.0.0.1:6379> getbit test_key 2
    (integer) 1
    127.0.0.1:6379> getbit test_key 3
    (integer) 1
    127.0.0.1:6379> getbit test_key 4
    (integer) 0
    127.0.0.1:6379> getbit test_key 5
    (integer) 1
    127.0.0.1:6379> getbit test_key 6
    (integer) 0
    127.0.0.1:6379> getbit test_key 7
    (integer) 0

    六、获取所有(一个或多个)给定 key 的值

      命令:mget

      格式:mget key1 [key2] ...

    127.0.0.1:6379> set key1 value1
    OK
    127.0.0.1:6379> set key2 value2
    OK
    127.0.0.1:6379> set key3 value3
    OK
    127.0.0.1:6379> mget key1 key2 key3
    1) "value1"
    2) "value2"
    3) "value3"

    七、对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)

      命令:setbit

      格式:setbit key offset value

      test_key当前的值"test_value_2",首字母"t"的ASCII码的二进制为0111 0100,若设置第6位为1,则值为0111 0110,对应字母"v"

    127.0.0.1:6379> get test_key
    "test_value_2"
    127.0.0.1:6379> setbit test_key 6 1
    (integer) 0
    127.0.0.1:6379> get test_key
    "vest_value_2"

    八、设置指定key的值 ,并将 key 的过期时间设为 seconds (以秒为单位)

      命令:setex

      格式:setex key seconds value

    127.0.0.1:6379> setex test_key_2 10 test_value
    OK
    127.0.0.1:6379> get test_key_2
    "test_value"
    127.0.0.1:6379> get test_key_2
    "test_value"
    //10s 后
    127.0.0.1:6379> get test_key_2
    (nil)

    九、只有在 key 不存在时设置 key 的值

      命令:setnx

      格式:setnx key value

    127.0.0.1:6379> get test_key
    "vest_value_2"
    127.0.0.1:6379> setnx test_key test_value
    (integer) 0
    127.0.0.1:6379> get test_key
    "vest_value_2"
    127.0.0.1:6379> setnx test_key_3 test_value_3
    (integer) 1
    127.0.0.1:6379> get test_key_3
    "test_value_3"

    十、用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始

      命令:setrange

      格式:setrange key offset value

    127.0.0.1:6379> set test_key test_value
    OK
    127.0.0.1:6379> get test_key
    "test_value"
    127.0.0.1:6379> setrange test_key 3 a
    (integer) 10
    127.0.0.1:6379> get test_key
    "tesa_value"
    127.0.0.1:6379> setrange test_key 3 abcde
    (integer) 10
    127.0.0.1:6379> get test_key
    "tesabcdeue"

    十一、返回 key 所储存的字符串值的长度

      命令:strlen

      格式:strlen key

    127.0.0.1:6379> get test_key
    "tesabcdeue"
    127.0.0.1:6379> strlen test_key
    (integer) 10

     十二、同时设置一个或多个 key-value 对

      命令:mset

      格式:mset key value [key value] ....

    127.0.0.1:6379> mset key1 value1 key2 value2 key3 value3
    OK
    127.0.0.1:6379> mget key1 key2 key3
    1) "value1"
    2) "value2"
    3) "value3"

    十三、同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在

      命令:msetnx

      格式:msetnx key value [key value] ....

    127.0.0.1:6379> mset key1 v1 key2 v2 key3 v3 key4 v4
    OK
    127.0.0.1:6379> mget key1 key2 key3 key4
    1) "v1"
    2) "v2"
    3) "v3"
    4) "v4"
    127.0.0.1:6379> msetnx key1 value1 key2 value2 key3 value3 key4 value4 key5 value5
    (integer) 0
    127.0.0.1:6379> mget key1 key2 key3 key4 key5
    1) "v1"
    2) "v2"
    3) "v3"
    4) "v4"
    5) (nil)
    127.0.0.1:6379> msetnx key5 v5 key6 v6
    (integer) 1
    127.0.0.1:6379> mget key1 key2 key3 key4 key5 key6
    1) "v1"
    2) "v2"
    3) "v3"
    4) "v4"
    5) "v5"
    6) "v6"

    十四、设置指定key的值 ,并将 key 的过期时间设为 ms (以毫秒为单位)

      命令:psetex

      格式:psetex key ms value

    127.0.0.1:6379> psetex key1 10000 value
    OK
    127.0.0.1:6379> get key1
    "value"
    127.0.0.1:6379> get key1
    "value"
    //10s 后
    127.0.0.1:6379> get key1
    (nil)

    十五、将 key 中储存的数字值增一

      命令:incr

      格式:incr key

    127.0.0.1:6379> set int_key 1
    OK
    127.0.0.1:6379> get int_key
    "1"
    127.0.0.1:6379> incr int_key
    (integer) 2
    127.0.0.1:6379> get int_key
    "2"
    127.0.0.1:6379> incr int_key
    (integer) 3
    127.0.0.1:6379> get int_key
    "3"

    十六、将 key 所储存的值加上给定的增量值(increment)

      命令:incrby

      格式:incrby key increment

    127.0.0.1:6379> get int_key
    "3"
    127.0.0.1:6379> incrby int_key 10
    (integer) 13
    127.0.0.1:6379> get int_key
    "13"

    十七、将 key 所储存的值加上给定的浮点增量值

      命令:incrbyfloat

      格式:incrbyfloat key increment

    127.0.0.1:6379> set float_key 1
    OK
    127.0.0.1:6379> incrbyfloat float_key 0.5
    "1.5"
    127.0.0.1:6379> get float_key
    "1.5"

    十八、将 key 中储存的数字值减一

      命令:decr

      格式:decr key

    127.0.0.1:6379> get int_key
    "13"
    127.0.0.1:6379> decr int_key
    (integer) 12
    127.0.0.1:6379> get int_key
    "12"
    127.0.0.1:6379> decr int_key
    (integer) 11
    127.0.0.1:6379> get int_key
    "11"

    十九、key 所储存的值减去给定的减量值(decrement)

      命令:decrby 

      格式:decrby key decrement

    127.0.0.1:6379> get int_key
    "11"
    127.0.0.1:6379> decrby int_key 5
    (integer) 6
    127.0.0.1:6379> get int_key
    "6"

    二十、为指定key的值,追加value

      命令:append

      格式:append key value

    127.0.0.1:6379> set key1 value1
    OK
    127.0.0.1:6379> get key1
    "value1"
    127.0.0.1:6379> append key1 value2
    (integer) 12
    127.0.0.1:6379> get key1
    "value1value2"
    127.0.0.1:6379> set int_key 1
    OK
    127.0.0.1:6379> get int_key
    "1"
    127.0.0.1:6379> append int_key 1
    (integer) 2
    127.0.0.1:6379> get int_key
    "11"
    127.0.0.1:6379> incrbyfloat int_key 0.5
    "11.5"
    127.0.0.1:6379> get int_key
    "11.5"
    127.0.0.1:6379> append int_key 1
    (integer) 5
    127.0.0.1:6379> get int_key
    "11.51"

    参考链接:https://www.runoob.com/redis/redis-strings.html

  • 相关阅读:
    【模板】高斯消元
    【洛谷P1730】最小密度路径
    【模板】矩阵乘法优化线性递推
    【洛谷P3723】礼物
    【洛谷P3338】力
    【模板】NTT
    【洛谷P1919】A*B Problem升级版
    测试理论基础(思维导图)
    Fiddler
    常用 Linux 命令
  • 原文地址:https://www.cnblogs.com/chinxi/p/13019618.html
Copyright © 2011-2022 走看看