当前位置:网站首页>Redis string type

Redis string type

2022-07-06 01:40:00 Freezing point contract

String type :string

  • String yes Redis Most basic types , You can understand that Memcached As like as two peas , One key Corresponding to one value;
  • String Type is binary safe , signify Redis Of string Can contain any data . such as jpg Picture or serialized object
  • String The type is Redis Basic data types , One Redis Middle string value At most 512M

Common commands

  • Add key value pair

    set <key> <value>
    
  • obtain key Corresponding value

    get <key>
    
  • Will specify value Append to original value At the end of

    append <key> <value>
    
  • obtain value The length of

    strlen <key>
    
  • Only when key When it doesn't exist key Add

    setnx <key> <value>
    
  • take key Increase the value of the number stored in 1, Can only operate on numeric values , If it is empty , The new value added is 1

    incr <key>
    
  • take key The number stored in minus 1, Can only operate on numeric values , If it is empty , The new value added is -1

    decr <key>
    
  • take key The numerical value stored in the custom step size increases or decreases

    incrby <key> <step>
    decrby <key> <step>
    

The concept of atomic operation

  • Atomic operations are operations that are not interrupted by the thread scheduling mechanism , Once this operation begins , It runs until the end , There won't be any context switch ( Switch to another thread )
  • In a single thread , Operations that can be performed in a single instruction can be considered as " Atomic manipulation ", Because interrupts can only occur between instructions
  • In multithreading , Can't be used by other processes ( Threads ) The interrupted operation is called atomic operation
  • Redis The atomicity of a single command is mainly due to Redis The single thread

String batch operation command

  • At the same time for multiple key Set the value

    mset <key1> <value1> <key2> <value2> ...
    
  • Get multiple at the same time value

    mget <key1> <key2> ...
    
  • Set up multiple value, And key non-existent ( Atomicity : One existence fails )

    msetnx <key1> <value1> <key2> <value2> ...
    

Other commands

  • Get substring , From the index start To stop( Left and right closed )

    getrang <key> <start> <stop>
    
  • Use... From the specified index location value Covering substring

    setrang <key> <index> <value>
    
  • Set the expiration time while setting the key value pair ( Company :s)

    setex <key> <time> <value>
    
  • To old change new ( Read original value , And write )

    getset <key> <value>
    

String data structure

 Insert picture description here

  • String The data structure of is a simple dynamic string (Simple Dynamic String, abbreviation SDS). Is a string that can be modified , The internal structure is similar to Java Of ArrayList, Reduce the frequent allocation of memory by pre allocating redundant space
  • Space actually allocated internally for the current string capacity Generally higher than the actual string length len. When the string length is less than 1M when , Expansion is to double the existing space , If exceeded 1M, When expanding, it will only expand more at one time 1M Space . Note that the maximum string length is 512M
原网站

版权声明
本文为[Freezing point contract]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/187/202207060128538033.html