Redis之String超详细API使用及应用场景介绍

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: Redis之String超详细API使用及应用场景介绍


一、字符串(String)


1.1 SETNX(setnx)

只有在 key 不存在时设置 key 的值。


Redis Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。


语法


127.0.0.1:6379> SETNX KEY_NAME VALUE


可以版本:>= 1.0.0


返回值:设置成功,返回 1 。 设置失败,返回 0 。


案例


127.0.0.1:6379> flushall      #清空数据库
OK
127.0.0.1:6379> exists j3-liuliang 18  #查看key是否存在
(integer) 0
127.0.0.1:6379> setnx j3-liuliang 18  #设置key并赋值
(integer) 1
127.0.0.1:6379> setnx j3-liuliang 28  #尝试覆盖key
(integer) 0         #覆盖失败
127.0.0.1:6379> get j3-liuliang    #key没有变化
"18"
127.0.0.1:6379>


1.2 GETRANGE(getrange )

返回key中字符串值得子字符


Redis Getrange 命令用于获取存储在指定 key 中字符串的子字符串。字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)。


语法


127.0.0.1:6379> GETRANGE KEY_NAME start end


可以版本:>= 2.4.0


返回值:截取得到的子字符串。


案例


127.0.0.1:6379> flushall        #清空数据库
OK
127.0.0.1:6379> set j3-liuliang "This is my test key" #设置key并赋值
OK
127.0.0.1:6379> getrange j3-liuliang 0 3    #截取key部分内容
"This"
127.0.0.1:6379> getrange j3-liuliang 6 9
"s my"
127.0.0.1:6379> getrange j3-liuliang 0 -1    #截取key得所有内容
"This is my test key"
127.0.0.1:6379>


1.3 MSET(mset)

同时设置一个或多个 key-value 对。


Redis Mset 命令用于同时设置一个或多个 key-value 对。


语法


127.0.0.1:6379> MSET key1 value1 key2 value2 .. keyN valueN


可以版本:>= 1.0.1


返回值:总是返回 OK 。


案例


127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3  #同时设置多个key value对
OK
127.0.0.1:6379> get k1      #获取值
"v1"
127.0.0.1:6379> get k2
"v2"
127.0.0.1:6379> get k3
"v3"
127.0.0.1:6379>


1.4 SETEX(setex)

将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。


Redis Setex 命令为指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会替换旧的值。


语法


127.0.0.1:6379> SETEX KEY_NAME TIMEOUT VALUE


可以版本:>= 2.0.0


返回值:设置成功时返回 OK 。


案例


127.0.0.1:6379> flushall      #清空数据库
OK
127.0.0.1:6379> set j3-liuliang 18    #设置key并赋值
OK
127.0.0.1:6379> get j3-liuliang    #获取可以得值
"18"
127.0.0.1:6379> setex j3-liuliang 60 28  #设置key如果key存在就覆盖,且设置过期时间60秒,新值28
OK
127.0.0.1:6379> ttl j3-liuliang    #查看剩余时间
(integer) 53
127.0.0.1:6379> get j3-liuliang    #获取可以得值
"28"
127.0.0.1:6379>


1.5 SET(set)

设置指定 key 的值


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


语法


127.0.0.1:6379> SET KEY_NAME VALUE


可以版本:>= 1.0.0


返回值:


在 Redis 2.6.12 以前版本, SET 命令总是返回 OK 。


从 Redis 2.6.12 版本开始, SET 在设置操作成功完成时,才返回 OK 。


案例


127.0.0.1:6379> flushall
OK
127.0.0.1:6379> set j3-liuliang 18  #设置key并赋值
OK
127.0.0.1:6379> get j3-liuliang   #获取key得值
"18"
127.0.0.1:6379> set j3-liuliang 28  #设置key并赋值,key存在则覆盖旧值
OK
127.0.0.1:6379> get j3-liuliang   #获取值
"28"  #被覆盖了
127.0.0.1:6379>


1.6 GET(get)

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


语法


127.0.0.1:6379> GET KEY_NAME


可以版本:>= 1.0.0


返回值:返回 key 的值,如果 key 不存在时,返回 nil。 如果 key 不是字符串类型,那么返回一个错误。


案例


127.0.0.1:6379> flushall
OK
127.0.0.1:6379> set j3-liuliang 18  #设置key并赋值
OK
127.0.0.1:6379> get j3-liuliang   #获取key
"18"
127.0.0.1:6379> del j3-liuliang   #删除key
(integer) 1
127.0.0.1:6379> lpush names j3-liuliang zhangsan  #设置list类型key
(integer) 2
127.0.0.1:6379> get names #尝试获取list类型key
(error) WRONGTYPE Operation against a key holding the wrong kind of value
#“对持有错误类型值的键执行错误类型操作”,可以简单理解为就是命令和要执行得key类型不匹配
127.0.0.1:6379>


1.7 GETBIT(getbit)

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


Redis Getbit 命令用于对 key 所储存的字符串值,获取指定偏移量上的位(bit)。


语法


127.0.0.1:6379> GETBIT KEY_NAME OFFSET


可以版本:>= 2.2.0


返回值:


字符串值指定偏移量上的位(bit,0 或 1 )。


当偏移量 OFFSET 比字符串值的长度大,或者 key 不存在时,返回 0 。


案例


127.0.0.1:6379> flushall
OK
127.0.0.1:6379> setbit bitkey 1 1 #给bitkey的key在 1 位上设置值 1(默认为 0 )
(integer) 0
127.0.0.1:6379> setbit bitkey 2 1 #给bitkey的key在 2 位上设置值 1(默认为 0 )
(integer) 0
127.0.0.1:6379> setbit bitkey 3 1 #给bitkey的key在 3 位上设置值 1(默认为 0 )
(integer) 0
127.0.0.1:6379> getbit bitkey 2  #获取bitkey在 2 位上的值(默认为 0 )
(integer) 1
127.0.0.1:6379> getbit bitkey 3  #获取bitkey在 3 位上的值(默认为 0 )
(integer) 1
127.0.0.1:6379> getbit bitkey 4  #获取bitkey在 4 位上的值(默认为 0 )
(integer) 0
127.0.0.1:6379>


1.8 SETBIT(setbit)

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


Redis Setbit 命令用于对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。


语法


127.0.0.1:6379> Setbit KEY_NAME OFFSET


可以版本:>= 2.2.0


返回值:指定偏移量原来储存的位。


案例


127.0.0.1:6379> flushall
OK
127.0.0.1:6379> setbit bitkey 1 1 #给bitkey的key在 1 位上设置值 1(默认为 0 )
(integer) 0
127.0.0.1:6379> setbit bitkey 2 1 #给bitkey的key在 2 位上设置值 1(默认为 0 )
(integer) 0
127.0.0.1:6379> setbit bitkey 3 1 #给bitkey的key在 3 位上设置值 1(默认为 0 )
(integer) 0
127.0.0.1:6379> getbit bitkey 2  #获取bitkey在 2 位上的值(默认为 0 )
(integer) 1
127.0.0.1:6379> getbit bitkey 3  #获取bitkey在 3 位上的值(默认为 0 )
(integer) 1
127.0.0.1:6379> getbit bitkey 4  #获取bitkey在 4 位上的值(默认为 0 )
(integer) 0
127.0.0.1:6379>


1.9 DECR(decr)

将 key 中储存的数字值减一。


Redis Decr 命令将 key 中储存的数字值减一。


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


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


本操作的值限制在 64 位(bit)有符号数字表示之内。


语法


127.0.0.1:6379> DECR KEY_NAME


可以版本:>= 1.0.0


返回值:执行命令之后 key 的值。


案例


127.0.0.1:6379> flushall
OK
127.0.0.1:6379> set money 100  #对存在数字值得key进行 decr
OK
127.0.0.1:6379> decr money    #decr操作
(integer) 99
127.0.0.1:6379> decr money
(integer) 98
127.0.0.1:6379> exists math   #对不存在得key进行decr
(integer) 0
127.0.0.1:6379> decr math
(integer) -1
127.0.0.1:6379> set name j3-liuliang  #对不是数字值得key进行decr
OK
127.0.0.1:6379> decr name
(error) ERR value is not an integer or out of range #出错
127.0.0.1:6379>


1.10 DECRBY(decrby)

key 所储存的值减去给定的减量值(decrement) 。


Redis Decrby 命令将 key 所储存的值减去指定的减量值。


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


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


本操作的值限制在 64 位(bit)有符号数字表示之内。


语法


127.0.0.1:6379> DECRBY KEY_NAME DECREMENT_AMOUNT

可以版本:>= 1.0.0


返回值:减去指定减量值之后, key 的值。


案例


127.0.0.1:6379> flushall
OK
127.0.0.1:6379> set money 100  #对存在数字值得key进行 decr
OK
127.0.0.1:6379> decrby money 10   #decr操作
(integer) 90
127.0.0.1:6379> decrby money 10
(integer) 80
127.0.0.1:6379> exists math   #对不存在得key进行decr
(integer) 0
127.0.0.1:6379> decrby math 10
(integer) -10
127.0.0.1:6379> set name j3-liuliang  #对不是数字值得key进行decr
OK
127.0.0.1:6379> decrby name 10
(error) ERR value is not an integer or out of range #出错
127.0.0.1:6379>


1.11 STRLEN(strlen)

返回 key 所储存的字符串值的长度。


Redis Strlen 命令用于获取指定 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误。


语法


127.0.0.1:6379> STRLEN KEY_NAME


可以版本:>= 2.2.0


返回值:字符串值的长度。 当 key 不存在时,返回 0。


案例


127.0.0.1:6379> flushall
OK
127.0.0.1:6379> set name j3_liuliang  #设置key并赋值
OK
127.0.0.1:6379> strlen name    #获取存在key的value长度
(integer) 11
127.0.0.1:6379> strlen notkey   #获取不存在key的value传长度
(integer) 0
127.0.0.1:6379>


1.12 MSETNX(msetnx)

同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。(原子操作,全部成功才成功)


Redis Msetnx 命令用于所有给定 key 都不存在时,同时设置一个或多个 key-value 对。


语法


127.0.0.1:6379> MSETNX key1 value1 key2 value2 .. keyN valueN


可以版本:>= 1.0.1


返回值:当所有 key 都成功设置,返回 1 。 如果所有给定 key 都设置失败(至少有一个 key 已经存在),那么返回 0 。


案例


127.0.0.1:6379> flushall
OK
127.0.0.1:6379> msetnx k1 v1 k2 v2 k3 v3  #一次性设置多个不存在的key value
(integer) 1
127.0.0.1:6379> keys *
1) "k1"
2) "k3"
3) "k2"
127.0.0.1:6379> msetnx k1 v1 m1 n1 m2 n2  #当设置得key中有存在的key则全部设置失败(表明是原子操作)
(integer) 0
127.0.0.1:6379>


1.13 INCR(incr)

将 key 中储存的数字值增一


Redis Incr 命令将 key 中储存的数字值增一。


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


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


本操作的值限制在 64 位(bit)有符号数字表示之内。


语法

127.0.0.1:6379> INCR KEY_NAME 


可以版本:>= 1.0.0


返回值:执行 INCR 命令之后 key 的值。


案例


127.0.0.1:6379> flushall
OK
127.0.0.1:6379> set money 100    #设置key并设置数字值
OK
127.0.0.1:6379> incr money      #加一
(integer) 101
127.0.0.1:6379> incr money
(integer) 102
127.0.0.1:6379> get money     #获取值
"102"
127.0.0.1:6379> exists math     #判断key是否存在
(integer) 0
127.0.0.1:6379> incr math     #给不存在的key加一,先创建然后加一
(integer) 1
127.0.0.1:6379> get math      #获取值
"1"
127.0.0.1:6379> set name j3_liuliang  #创建不是数字值得key
OK
127.0.0.1:6379> incr name     #加一操作失败
(error) ERR value is not an integer or out of range
127.0.0.1:6379>


1.14 INCRBY(incrby)

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


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


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


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


本操作的值限制在 64 位(bit)有符号数字表示之内。


语法


127.0.0.1:6379> INCRBY KEY_NAME INCR_AMOUNT


可以版本:>= 1.0.0


返回值:加上指定的增量值之后, key 的值。


案例


127.0.0.1:6379> flushall
OK
127.0.0.1:6379> set money 100  #设置key并设置数字值
OK
127.0.0.1:6379> incrby money 20  #给key值增加 20
(integer) 120
127.0.0.1:6379> incrby money 20
(integer) 140
127.0.0.1:6379> get money   #获取key得值
"140"
127.0.0.1:6379> exists day    #判断key是否存在
(integer) 0
127.0.0.1:6379> incrby day 10  #给不存在得key进行增加 10 操作,它会先创建对于得key然后加 10
(integer) 10
127.0.0.1:6379> get day    #获取key得值
"10"
127.0.0.1:6379> set name j3_liuliang  #创建不是数字值得key
OK
127.0.0.1:6379> incrby name 10    ##加操作失败
(error) ERR value is not an integer or out of range
127.0.0.1:6379>


1.15 INCRBYFLOAT(incrbyfloat)

将 key 所储存的值加上给定的浮点增量值(increment) 。


Redis Incrbyfloat 命令为 key 中所储存的值加上指定的浮点数增量值。


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


语法


127.0.0.1:6379> INCRBYFLOAT KEY_NAME INCR_AMOUNT


可以版本:>= 2.6.0


返回值:执行命令之后 key 的值。


案例


127.0.0.1:6379> flushall
OK
# 值和增量都不是指数符号
127.0.0.1:6379> set money 100.50
OK
127.0.0.1:6379> incrbyfloat money 0.3
"100.8"
# 值和增量都是指数符号
127.0.0.1:6379> set pai 314e-2
OK
127.0.0.1:6379> get pai     # 用 SET 设置的值可以是指数符号
"314e-2"
127.0.0.1:6379> incrbyfloat pai 0   # 但执行 INCRBYFLOAT 之后格式会被改成非指数符号
"3.14"
127.0.0.1:6379> get pai
"3.14"
127.0.0.1:6379> incrbyfloat pai 0.1
"3.24"
# 可以对整数类型执行
127.0.0.1:6379> set money 100
OK
127.0.0.1:6379> incrbyfloat money 0.1
"100.1"
127.0.0.1:6379> set km 3.0
OK
127.0.0.1:6379> get km    # SET 设置的值小数部分可以是 0
"3.0"
127.0.0.1:6379> incrbyfloat km 1.000000000000000 # 但 INCRBYFLOAT 会将无用的 0 忽略掉,有需要的话,将浮点变为整数
"4"
127.0.0.1:6379> get km
"4"
127.0.0.1:6379>


1.16 SETRANGE(setrange)

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


Redis Setrange 命令用指定的字符串覆盖给定 key 所储存的字符串值,覆盖的位置从偏移量 offset 开始。


语法


127.0.0.1:6379> SETRANGE KEY_NAME OFFSET VALUE


可以版本:>= 2.2.0


返回值:被修改后的字符串长度。


案例


127.0.0.1:6379> flushall
OK
127.0.0.1:6379> set mykey "the is a good key" #设置key
OK
127.0.0.1:6379> setrange mykey 9 AAA    #从指定位置开始覆盖key得值
(integer) 17
127.0.0.1:6379> get mykey      #获取覆盖后得值
"the is a AAAd key"
127.0.0.1:6379>


1.17 PSETEX(psetex)

这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。


Redis Psetex 命令以毫秒为单位设置 key 的生存时间。


语法


127.0.0.1:6379> PSETEX key1 EXPIRY_IN_MILLISECONDS value1


可以版本:>= 2.6.0


返回值:设置成功时返回 OK 。


案例


127.0.0.1:6379> flushall
OK
127.0.0.1:6379> psetex name 20000 j3_liuliang #以毫秒单位设置key得过期时间
OK
127.0.0.1:6379> pttl name      #查看key得过期时间,毫秒值
(integer) 16577
127.0.0.1:6379> get name      #在未过期时间内获取key
"j3_liuliang"
127.0.0.1:6379> pttl name      #过期后
(integer) -2
127.0.0.1:6379> get name      #获取过期后的key值
(nil)
127.0.0.1:6379>


1.18 APPEND(append)

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


Redis Append 命令用于为指定的 key 追加值。


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


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


语法


127.0.0.1:6379> APPEND KEY_NAME NEW_VALUE


可以版本:>= 2.0.0


返回值:追加指定值之后, key 中字符串的长度。


案例


127.0.0.1:6379> flushall
OK
127.0.0.1:6379> exists name     #查看key是否存在
(integer) 0
127.0.0.1:6379> append name j3_liuliang  #给不存在的key 追加字符串
(integer) 11
127.0.0.1:6379> get name      #获取key对应得值
"j3_liuliang"
127.0.0.1:6379> set j3_liuliang 18    #设置key并赋值
OK
127.0.0.1:6379> append j3_liuliang 0  #给存在得key追加值
(integer) 3
127.0.0.1:6379> get j3_liuliang    #查看追加后得key的值
"180"
127.0.0.1:6379>


1.19 GETSET(getset)

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


Redis Getset 命令用于设置指定 key 的值,并返回 key 旧的值。


语法


127.0.0.1:6379> GETSET KEY_NAME VALUE


可以版本:>= 1.0.0


返回值:


返回给定 key 的旧值。 当 key 没有旧值时,即 key 不存在时,返回 nil 。


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


案例


127.0.0.1:6379> flushall
OK
127.0.0.1:6379> exists name     #判断key是否存在
(integer) 0
127.0.0.1:6379> getset name j3_liuliang  #对不存在的key进行getset
(nil) #先返回nil然后给name设置值j3_liuliang
127.0.0.1:6379> get name      #获取key的值
"j3_liuliang"
127.0.0.1:6379> set mykey name:j3_liulaing  #设置key并赋值
OK
127.0.0.1:6379> getset mykey name:liuliang  #对存在的key进行 getset
"name:j3_liulaing" #先是返回key的值,然后将新值覆盖给key
127.0.0.1:6379> get mykey     #获得覆盖后的值
"name:liuliang"
127.0.0.1:6379>


1.20 MGET(mget)

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


Redis Mget 命令返回所有(一个或多个)给定 key 的值。 如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。


语法


127.0.0.1:6379> MGET KEY1 KEY2 .. KEYN


可以版本:>= 1.0.0


返回值:一个包含所有给定 key 的值的列表。


案例


127.0.0.1:6379> flushall
OK
127.0.0.1:6379> set k1 v1  #设置key并赋值
OK
127.0.0.1:6379> set k2 v2
OK
127.0.0.1:6379> mget k1 k2 k3 #一次性获取多个key的值,不存在的则返回nil
1) "v1"
2) "v2"
3) (nil)
127.0.0.1:6379>


image.png


二、应用场景


  • 单值缓存:商品库存,key=商品id,value=库存数量(set,get)


  • 对象缓存:


  1. set 存储用户信息,key=user:id value=json格式数据
  2. mset 批量存储用户信息,适用于数据不断变化的应用场景,
  3. 如用户微信余额,存取方便,效率高


  • 分布式锁:

适用场景:在一个集群环境下,多个web应用时对同一个商品进行抢购和减库存操作时,

可能出现超卖时会用到分布式锁

SETNX命令(SET if Not eXists)

语法:SETNX key value

功能:当且仅当 key 不存在,将 key 的值设为 value ,并返回1;

若给定的 key 已经存在,则 SETNX 不做任何动作,并返回0。


  • 计算器:文章访问量,每当用户访问,阅读数加1(incr)


  • 共享session:出于负载均衡的考虑,分布式服务会将用户信息的访问均衡到不同服务器上,用户刷新一次访问可能会需要重新登录,为避免这个问题可以用redis将用户session集中管理,在这种模式下只要保证redis的高可用和扩展性的,每次获取用户更新或查询登录信息都直接从redis中集中获取。


  • **限速:**处于安全考虑,每次进行登录时让用户输入手机验证码,为了短信接口不被频繁访问,会限制用户每分钟获取验证码的频率。


  • 分布式系统全局序列号:


适用场景:一般数据库表的主键用自增长序列号,假如系统压力大,后端做了分库分表,

数据库自带的auto_increment就不适用了,可以使用redis的自增,由于Redis为单进程单线程模式, 采用队列模式将并发访问变成串行访问,且多客户端对Redis的连接并不存在竞争关系。

incr orderId redis压力大

incr orderId 1000 提升性能,降低redis压力


假设有3台机器访问redis,利用redis的特点:单线程

incrby orderid 1000 //每台每次拿1000,01000,10012000,2001~3000

拿完后再各自慢慢处理这1000的容量


结束语


本文结合Redis中文网和博主的实践案例所写,下期写List类型

由于博主才疏学浅,难免会有纰漏,假如你发现了错误或偏见的地方,还望留言给我指出来,我会对其加以修正。

如果你觉得文章还不错,你的转发、分享、点赞、留言就是对我最大的鼓励。

感谢您的阅读,十分欢迎并感谢您的关注。


image.png

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1月前
|
供应链 搜索推荐 API
一文读懂:京东、淘宝、拼多多 API 接口,功能大不同,场景各有招
本文深入解析京东、淘宝、拼多多三大电商巨头的API接口特点与差异。京东API以商品管理、订单处理和物流跟踪见长,适合电商平台及零售商;淘宝API功能丰富,涵盖商品查询、订单管理与用户认证,适用多场景电商业务;拼多多API聚焦社交电商,提供拼团、砍价等特色玩法,助力商家提升曝光与销量。开发者和商家需根据自身需求选择合适的API接口,并关注其安全性与稳定性。随着技术进步,这些API将持续优化,推动电商行业蓬勃发展。
|
3月前
|
API 开发者
通义灵码 API 开发文档自动生成场景DEMO
通义灵码API开发文档自动生成场景DEMO展示了通过自定义指令,大模型能快速根据类代码生成Markdown格式的API文档。文档详细描述API的入参、出参,并可生成测试代码等示例,帮助开发者快速创建美观的API文档。
215 1
|
4月前
|
存储 搜索推荐 安全
介绍几个常用的电商API接口及其应用场景。(一篇文章全清楚)
电商API接口是电商平台高效运营的核心技术支撑,涵盖商品管理、订单管理、支付、客户管理、营销推广和数据分析六大模块。商品管理API实现商品信息的精准上传与动态调整;订单管理API确保订单全流程透明可控;支付API保障交易安全便捷;客户管理API通过数据分析提供个性化服务;营销推广API助力精准营销;数据分析API为决策提供数据支持。各API协同工作,推动电商行业创新发展,构建智能便捷的电商生态。
648 12
|
4月前
|
JSON API 数据安全/隐私保护
淘宝商品详情API接口系列以及应用场景
淘宝商品详情API接口系列是淘宝开放平台提供的一系列编程接口,允许第三方开发者通过特定的协议和方式,与淘宝平台进行数据交互。这些接口涵盖了商品搜索、商品详情获取、订单管理、物流查询、支付结算等多个方面,为开发者提供了极大的灵活性和便利性。以下是对淘宝商品详情API接口系列的详细介绍
|
6月前
|
NoSQL Redis
Redis 字符串(String)
10月更文挑战第16天
81 4
|
6月前
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
63 3
|
7月前
|
存储 JSON NoSQL
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
这篇文章是关于Redis基本数据结构的学习笔记,包括了String、Hash、Set、List和SortedSet的介绍和常用命令。文章解释了每种数据结构的特点和使用场景,并通过命令示例演示了如何在Redis中操作这些数据结构。此外,还提供了一些练习示例,帮助读者更好地理解和应用这些数据结构。
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
|
8月前
|
NoSQL 安全 Java
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
这篇文章深入探讨了Redis中的String数据类型,包括键操作的命令、String类型的命令使用,以及String在Redis中的内部数据结构实现。
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
|
8月前
|
C# 开发者 UED
WPF开发者必备秘籍:深度解析文件对话框使用技巧,打开与保存文件原来如此简单!
【8月更文挑战第31天】在WPF应用开发中,文件操作是常见需求。本文详细介绍了如何利用`Microsoft.Win32`命名空间下的`OpenFileDialog`和`SaveFileDialog`类来正确实现文件打开与保存功能。通过示例代码展示了如何设置文件过滤器、初始目录等属性,并使用对话框进行文件读写操作。正确使用文件对话框能显著提升用户体验,使应用更友好易用。
236 0
|
8月前
|
存储 JSON NoSQL
揭秘Redis字符串String的隐藏技能!从基础到进阶,让你的数据存储操作秒变高大上!
【8月更文挑战第24天】Redis中的字符串类型作为其基石,不仅能够存储从简单文本到复杂格式如JSON的各种数据,还能通过多样化的命令实现包括但不限于自增自减、设置过期时间等高级功能,极大提升了其实用性和灵活性。例如,使用`SET`命令可添加或更新键值对,`GET`获取值,`DEL`删除键;同时,`INCR`和`DECR`支持对整数值的原子性增减操作,非常适合实现计数器等功能;通过`EXPIRE`命令设置过期时间,则适用于需要限时存储的应用场景。尽管名为“字符串”,但实际上还可存储图片、音频文件的Base64编码等形式的数据,为开发者提供了强大而灵活的工具。
81 0
下一篇
oss创建bucket