• (基本知识)Redis 字符串(String)相关函数


    1.SET:用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型

    127.0.0.1:6379> set a 852
    OK
    127.0.0.1:6379> get a
    "852"
    127.0.0.1:6379> set a 741
    OK
    127.0.0.1:6379> get a
    "741"
    127.0.0.1:6379> 

    2.Get :用于获取指定 key 的值。key 不存在返回 nil 。如果key 储存的值不是字符串类型,返回一个错误

    127.0.0.1:6379> get a
    "741"
    127.0.0.1:6379> get ss
    (nil)
    127.0.0.1:6379> 

    3.Getrange :用于获取存储在指定 key 中字符串的子字符串。返回截取得到的子字符串。

          start:子字符串开始位置,包括 start

          end:子字符串结束位置,包括 end 

    127.0.0.1:6379> set a "tom is a cat"
    OK
    127.0.0.1:6379> getrange a 3 5
    " is"
    127.0.0.1:6379> getrange a 0 3
    "tom "
    127.0.0.1:6379> getrange a 7 -1
    "a cat"
    127.0.0.1:6379> 

    4.Getset :用于设置指定 key 的值,并返回 key 的旧值

          key 无旧值时返回 nil 

         key 存在但不是字符串类型时返回一个错误

    127.0.0.1:6379> getset fis 7415 #此时fis已经设置了值
    (nil)
    127.0.0.1:6379> get fis
    "7415"
    127.0.0.1:6379> getset fis 951753
    "7415"
    127.0.0.1:6379> get fis
    "951753"
    127.0.0.1:6379> 

    5.Mget :返回所有给定的一个或多个key 的值。 如果给定的 key 里面某个 key 不存在,那么这个 key 返回特殊值 nil 

        返回所有给定 key 的值的列表

    127.0.0.1:6379> mget a asd aed tg
    1) "tom is a cat"
    2) "789"
    3) "123"
    4) (nil)
    127.0.0.1:6379> 

    6.Setex :为指定的 key 设置值及其过期时间(以秒为单位)。如果 key 已经存在, SETEX 命令将会替换旧的值  设置成功返回ok

    127.0.0.1:6379> setex er 60 a
    OK
    127.0.0.1:6379> ttl er
    (integer) 56
    127.0.0.1:6379> ttl er
    (integer) 51
    127.0.0.1:6379> 

    7.Setnx:在指定的 key 不存在时,为 key 设置指定的值,存在key设置返回0  成功返回1 失败返回0

    127.0.0.1:6379> exists opq
    (integer) 0
    127.0.0.1:6379> setnx opq 888
    (integer) 1
    127.0.0.1:6379> setnx opq 999
    (integer) 0
    127.0.0.1:6379> get opq
    "888"
    127.0.0.1:6379> 

    8.Setrange :用指定的字符串覆盖给定 key 所储存的字符串值,覆盖的位置从偏移量 offset 开始。返回被修改后的字符串长度

    127.0.0.1:6379> set a "hello tom"
    OK
    127.0.0.1:6379> setrange a 6 world
    (integer) 11
    127.0.0.1:6379> get a
    "hello world"
    127.0.0.1:6379> 

    9.Strlen 命令用于获取指定 key 所储存的字符串值的长度

        返回字符串值的长度

        当 key 不存在时,返回 0

        当 key 储存的不是字符串值时,返回一个错误

    127.0.0.1:6379> strlen a
    (integer) 11
    127.0.0.1:6379> strlen okm
    (integer) 0
    127.0.0.1:6379> 

    10.Mset :用于同时设置一个或多个 key-value 对 返回 OK 

    127.0.0.1:6379> mset a1 123 a2 456 a3 789
    OK
    127.0.0.1:6379> get a1
    "123"
    127.0.0.1:6379> get a2
    "456"
    127.0.0.1:6379> get a3
    "789"
    127.0.0.1:6379> 

    11.Msetnx :当所有给定 key 都不存在时,同时设置一个或多个 key-value 对 

         如果其中有一个key存在 多个设置失败返回0 

        成功返回1

    127.0.0.1:6379> msetnx q1 456 q2 789 q3 951
    (integer) 1
    127.0.0.1:6379> mget q1 q2 q3
    1) "456"
    2) "789"
    3) "951"
    127.0.0.1:6379> msetnx q1 741 q4 951
    (integer) 0
    127.0.0.1:6379> get q1
    "456"
    127.0.0.1:6379> get q4
    (nil)
    127.0.0.1:6379> 

    12.Psetex :以毫秒为单位设置 key 的生存时间  成功时返回 OK 

    127.0.0.1:6379> psetex a 147895 ppp
    OK
    127.0.0.1:6379> pttl a
    (integer) 139837
    127.0.0.1:6379> pttl a
    (integer) 137313
    127.0.0.1:6379> pttl a
    (integer) 136016
    127.0.0.1:6379> 

    13.Incr 命令将 key 中储存的数字值加1  

           如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作

           如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误

    127.0.0.1:6379> incr wsx
    (integer) 1
    127.0.0.1:6379> get wsx
    "1"
    127.0.0.1:6379> incr wsx
    (integer) 2
    127.0.0.1:6379> incr wsx
    (integer) 3
    127.0.0.1:6379> set d 50
    OK
    127.0.0.1:6379> incr d
    (integer) 51
    127.0.0.1:6379> incr d
    (integer) 52
    127.0.0.1:6379> incr d
    (integer) 53
    127.0.0.1:6379> 

    14.Incrby 命令将 key 中储存的数字加上指定的增量值  

           如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCRBY 命令。

           如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

    127.0.0.1:6379> exists zx
    (integer) 0
    127.0.0.1:6379> incrby zx 30
    (integer) 30
    127.0.0.1:6379> get zx
    "30"
    127.0.0.1:6379> incrby zx 20
    (integer) 50
    127.0.0.1:6379> get zx
    "50"
    127.0.0.1:6379> set y 'ppp'
    OK
    127.0.0.1:6379> get y
    "ppp"
    127.0.0.1:6379> incrby y 20
    (error) ERR value is not an integer or out of range
    127.0.0.1:6379> 

    15.Incrbyfloat :为 key 中所储存的值加上指定的浮点数增量值

           如果 key 不存在,那么 INCRBYFLOAT 会先将 key 的值设为 0 ,再执行加法操作

    127.0.0.1:6379> set a 5
    OK
    127.0.0.1:6379> incrbyfloat a 1.1
    "6.1"
    127.0.0.1:6379> INCRBYFLOAT a 1.000000000000
    "7.1"
    127.0.0.1:6379> 

    16.Decr :将 key 中储存的数字值减1

           如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。

          如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

    127.0.0.1:6379> get a
    "7.1"
    127.0.0.1:6379> decr a
    (error) ERR value is not an integer or out of range
    127.0.0.1:6379> set a 55
    OK
    127.0.0.1:6379> decr a
    (integer) 54
    127.0.0.1:6379> decr a
    (integer) 53
    127.0.0.1:6379>

    17.Decrby :将 key 所储存的值减去指定的减量值  

           如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECRBY 操作。

          如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

    127.0.0.1:6379> get a
    "53"
    127.0.0.1:6379> decrby a 30
    (integer) 23
    127.0.0.1:6379> decrby a 10
    (integer) 13
    127.0.0.1:6379> 

    18.Append 命令用于为指定的 key 追加值

            如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。

            如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样

    127.0.0.1:6379> exists yhn 
    (integer) 0
    127.0.0.1:6379> append yhn 852
    (integer) 3
    127.0.0.1:6379> append yhn 999
    (integer) 6
    127.0.0.1:6379> get yhn
    "852999"
    127.0.0.1:6379> 
  • 相关阅读:
    leetcode 78 子集
    leetcode 404 左叶子之和
    《数学有意思》28杠杆原理 29信息革命 30可信的数学
    《数学有意思》25中心极限定理 26混沌现象 27焦虑
    《数学有意思》22算术和几何 23统计学 24概率
    《数学有意思》19数学语言 20函数 21无理数
    《数学有意思》16归纳法 17因果关系 18物理学
    《数学有意思》13度量的本质 14度量单位 15科学也是一种模型
    《数学有意思》10思维工具 11选择合适的数学模型 12几何学
    《数学有意思》07公理是“公认的道理”吗 08什么是好的公里系统 09数学模型
  • 原文地址:https://www.cnblogs.com/ddf128/p/12179319.html
Copyright © 2020-2023  润新知