• redis 操作string 的测试


    1>set 
      set name zhangsan :OK
      get name: zhangsan
      set name lisi:OK
      get name: lisi
     
    2> setnx 如果存在,返回0,不覆盖原值
      setnx name lisi :0
      get name: lisi
     
      setnx age 15:1
      get age: 15
     
    3> setex 如果不存在,则新建;如果存在,则覆盖( 有新的参数 有效时间) 
      set age 5 15:OK (无论如何都会返回OK)
      get age: 15 (5S 之后消失)
     
     
    4>setrange 设置子串
      setrange name 1 a :4(输出name的长度)
      get name : lasi
      setrange name 1 bcdef:6(输出name的长度)
      get name :lbcdef
      setrange name 6 t:7(因为长度为6在角标6的位置添加"t"字符,会拉长字符串)
      get name : lbcdeft
      setrange name 9 ss:11(从角标9开始,添加"ss"字符串,长度变为11)
      get name:lbcdeftx00x00x00ss (空白处由"x00"填充)
     
      即,如果要替换的字符串不够长,则替换响应长度的字符串,如果过长,则会往后拼接
      第一次替换了i->a 长度未变
      第二次替换了asi->bcdef 长度增加
     
    5> mset 批量设置
         msetnx name zhangsan name1 lisi:OK(无论存在与否,都会返回OK,即无论存在与否都会赋值进去)
     
    使用setex清除现有字段
    setex name 1 1:OK
    setex age 1 1:OK
     
     
    6>msetnx 一次设置多个key的值,成功则返回OK表示所有的值都设置了,失败则返回0表示没有任何值被设置,原值不会被覆盖
      msetnx name zhangsan name1 lisi:OK
      get name:zhangsan
      get name1:lisi
     
      msetnx name zhangsan1 name1 lisi1:0
    7>get 获取字符串内容
     
    8>getset 既获取又设置
         getset zhangsan1:zhangsan(返回被替换掉的内容)
     
     
    9>getrange 获取子串 ex:getrange name 0 5
      getrange name 0 1 :zh
      getrange name 0 -1:zhangsan1(-1表示获取到字符串尾部)
      getrange name 1 -1:hangsan1
      getrange name 0 15:zhangsan1(15>长度9,也会选择所有内容,并不会拼接空格或者什么)
      getrange name 0 8 :zhangsan1(长度9,选择0-8,会选择所有内容,角标从0开始)
      getrange name 15 -1:""(空字符串)
      getrange name 15 16:""(空字符串)
     
     
     
    10>mget 一次获取多个key的value 如果key不存在则返回 nil
      get name name1:
        1) zhangsan1 
        2) lisi
      get name name2:
        1)zhangsan1
        2)nil
     
     
    11>incr 对value进行++操作
      incr name:     <error>(现在name=zhangsan1 并非数字)
      set age 20:OK
      get age :20
      incr age:21(返回+1后的值)
      get age:21
     
     
    12>incrby 对value进行+x操作
      incrby age 5:26(返回+x后的值)
      get age:26
       
    13>decr 对value进行--操作
    14>decrby 对value进行-x操作
     
     
    15>append 追加
      append name lisi:13 (9+4=13,返回追加后的字符串的长度)
      get name:zhangsan1lisi
     
    16>strlen 获取长度
  • 相关阅读:
    题目1007:奥运排序问题(自定义排序问题)
    题目1005:Graduate Admission(录取算法)
    九度OJ小结2
    题目1049:字符串去特定字符(简单字符判断)
    题目1111:单词替换(字符串查找)
    题目1168:字符串的查找删除(字符串操作)
    题目1455:珍惜现在,感恩生活(多重背包问题)
    题目1454:Piggy-Bank(完全背包问题)
    题目1453:Greedy Tino(dp题目)
    题目1452:搬寝室(dp题目)
  • 原文地址:https://www.cnblogs.com/fri-yu/p/5396630.html
Copyright © 2020-2023  润新知