深圳seo网站排名优化,贵州省都匀市网站建设,wordpress 写文章函数,网站实现多语言字符串命令 一、基本字符串命令 1.基本字符串操作命令(设置、取值、删除、取长度) 命令名称命令功能执行时间复杂度Set为指定的一个键设置对应的值#xff0c;如果已经存在#xff0c;则直接覆盖原来的值O(1)Mset对多个键设置对应的值#xff0c;如果值已经存在#xff0c;… 字符串命令 一、基本字符串命令 1.基本字符串操作命令(设置、取值、删除、取长度) 命令名称命令功能执行时间复杂度Set为指定的一个键设置对应的值如果已经存在则直接覆盖原来的值O(1)Mset对多个键设置对应的值如果值已经存在则直接覆盖原来的值。该命令是原子操作O(n)MSetNX对多个键设置对应的值该命令不允许指定的任何一个键已经存在如果其中有一个键已经存在则该命令执行失败O(n)Get得到一个指定键的字符串值如果键不存在则返回nil如果值不是字符串则返回一个错误信息因为该命令只能处理String类型的值O(1)MGet得到所有指定键的字符串值,与Get区别是可以同时指定多个键同时获取多个值O(n)Del删除指定键的值O(1)StrLen获取指定键的长度O(1)①Set命令 语法Set key value [EX seconds][PX milliseconds][NX|XX] 参数说明key value 是字符串键和值必选项EX是设置到期时间(单位秒) PX(单位毫秒)NX如果指定的键不存在仅仅是建立键名XX,只有键存在时才可以设置对应的值 说明Redis所有操作命令语法带有”[“和”]”符号时意味着括号内的参数是可选的不是必填的。 例 set bookName 《Redis学习与实践》 //设置键名为bookName值为《Redis学习与实践》
OK //返回值 set bookName 《NoSQL数据库》 EX 1 //设置bookName 1秒后过期
OK //返回值 ②MSet命令 语法MSet key value [key value …] 参数说明key为指定需要设置的字符串键value为对应的值可以同时设置多个键值对返回值总是OK因为该命令执行不会失败 例 MSet bookName1 数据库学习 bookName2 MongoDB //同时设置多个键值对
OK //返回值 ③MSetNX命令 语法MSetNX key value [key value …] 参数说明key是指定设置的键value为对应的值。返回值如果所有的键都被设置值返回1如果有键没有设置成功则返回0 例 MSetNX bookID1 1001 bookID2 1002 bookID3 1003
(integer) 1 //三个键都设置成功返回1MSetNX bookID1 1001 bookID4 1004
(integer) 0 //bookID1 已经存在设置失败所以会返回0
④Get命令
例 Get bookID1 1001 //返回值 Get bookID5 nil //键不存在返回nil ⑤MGet命令
语法MGet key [key ...]
参数说明key是键名可以指定多个键。
返回值返回所有指定键对应的值以列表的形式显示不是String值或不存在返回nil所有该命令不会返回执行失败信息。
例 MGet bookName1 bookName2 bookName //同时获取3个键的值 1”数据库学习” 2”MongoDB” 3) nil //因为前面设置了bookName过期时间为1秒所以键已经过期返回nil ⑥Del命令
语法Del key [key ...]
参数说明key是指定要删除的键允许一次删除多个。
返回值被删除键的个数。
例 Set FirstName Tomcat ok Set SecondName “Tomcat2” ok Get FirstName “Tomcat” get secondName “Tomcat2” del FristName SecondName //一次删除两个键 (integer) 2 //删除成功 返回 2 get FirstName nil 说明del还可以删除其他类型的数据结构如列表、集合、哈希等。⑦StrLen命令
语法StrLen key
返回值返回字符串的长度如果键不存在返回0
例 set name “李思” ok STRLEN name (integer) 4 //一个汉字2个字节 STRLEN sex 0 //键不存在返回0
####二、修改值字符串操作命令|命令名称|命令功能|执行时间复杂度|
|------------|:-----------|:--------------------:|
|Append|追加字符串当键存在的时候把新值追加到现有值的后面如果键不存在则创建(类型Set命令)|O(1)|
|GetRange|得到指定范围的字符串的子字符串|O(n)|
|GetSet|得到指定字符串键的旧值然后为键设置新值|O(1)|
|SetRange|替换指定字符串的一部分|O(1)|①Append命令
语法append key value
参数说明key为指定字符串键的名称value为需要追加的字符串内容。
返回值追加字符串后整个新字符串的长度。
例 get phoneNumber (nil) //该键对应的值不存在 Append phoneNumber 13812348765 //创建一个新的键值对 (integer) 11 append phoneNumber 12 (integer) 13 //追加后长度为13 get phoneNumber 1381234876512 说明Redis在创建新的字符串时会给字符串增加一倍的空闲空间所以后续增加相同大小的值的时候所用时间复杂度为O(1)。这说明增加固定长度的字符串速度最快。②GetRange命令
语法GetRange key start end
参数说明key为指定的键start为开始的位置end是结束位置。开始位置从0开始也就是key对应值的第一个字节位置依次类推。开始和结束位置也可以用负数表示如-1代表最后一个位置-2代表倒数第二个位置依次类推。当开始和结束位置超出范围的时候该命令会自动把结果控制在值长度范围之内。
返回值返回指定范围内的子字符串。
例 set content “this is a exam!” ok GetRange content 0 3 //字符串正向从0开始 “this” GetRange content -5 -2 //从后往前数截取子字符串 “exam” GetRange content 10 20 //结束位置超出了字符串本身的长度 “exam!” GetRange content 0 -1 //获取整个字符串结束位置用-1比较方便不用使用StrLen获取整个字符串长度 “this is a exam!” ③GetSet命令
语法GetSet key value
参数说明key是指定的键value是要设置的新值
返回值返回之前的旧值如果指定的键不存在则返回nil
例 set number 1 ok GETSET number 2 //给number设置新值2并返回旧值”1” “1” get number “2” 说明GetSet主要应用场景为实现支持重置的计数功能。④SetRange命令
语法SetRange key offset value
参数说明offset为需要修改的开始位置value是新的子字符串值。如果offset位置超过了指定字符串的长度则超出部分补0。因此该命令可以确保在指定位置设置新的值。
返回值修改后的新字符串长度。
例 set title “learning redis” ok SETRANGE title 9 “MongoDB” (integer)15 get title “learning MongoDB” 补0的例子 SETRANGE titles 1 “学习” (integer) 8 get titles “”\x00\学习” //一个x00表示一个0 说明当指定的键没有值的情况下在指定的位置会设置新值Redis需要立即分配内存这有可能会造成服务器阻塞的现象出现。新值长度越大需要消耗的时间越多。####三、修改数字值的操作命令
Redis为字符串值为数字的数据提供了专门的修改操作命令如下表所示。|命令名称|功能描述|时间复杂度|
|------------|:------------:|:-------------:|
|Decr|对整数做原子减1操作|O(1)|
|DecrBy|对整数做原子减指定数操作|O(1)|
|Incr|对整数做原子加1操作|O(1)|
|IncrBy|对整数做原子加指定数操作|O(1)|
|IncrByFloat|对浮点数做原子加指定数操作|O(1)|①Decr命令
语法 Decr key
参数说明key是指定的键该键对应的值必须为整型。如果key不存在则会创建新键并设置对应的值为0.
返回值返回减1后的值。如果指定键对应的值不是整型则会返回错误信息。
例 set count 10 ok Decr count //值减1 (integer) 9 set count “10gg” //非整型 ok DECR count (error) ERR value is not an integer or out of range //错误信息提示 说明Decr最大支持64位有符号的整型数字②DecrBy命令
语法DecrBy key decremnet
参数说明key是指定要做减法操作的键decrement是要减的数。如果key不存在则会新建键并设置对应的值为0。
返回值返回减过之后的值。如果指定键对应的值不是整型则返回错误信息。
例 Set count 10 ok DecrBy count 4 //一次直接减4 (integer) 6 ③Incr命令
语法Incr key
返回值返回增1之后的值。如果指定的键对应的值为非整型则返回错误信息。
例 set count 10 ok Incr count (integer) 11 get count “11” 说明Incr最大支持64位有符号的整型数字原子递增操作最常用的使用场景是计数器、特定场景的限速器。④IncrBy命令
语法IncrBy key increment
参数说明increment为要增加的数字。如果key不存在则新建键并设置对应得值为0.
返回值增加之后的值。如果指定键对应的值为非整型则返回错误信息。
例 set count 10 ok IncrBy count 2 //一次增加2 (integer) 12 ⑤IncrByFloat命令
语法IncrByFloat key increment
参数说明key是指定的键键对应的值必须为浮点数increment是要增加的浮点数。
返回值返回增加后的浮点数值。操作出错则返回错误信息。
例 set price 10.2 ok IncrByFloat price 0.3 //一次增加0.3 “10.5” “ 说明当满足一下任意一个条件时该命令会返回错误信息。 1.key包含非法值不是一个String 2.当前的值增加指定数后不能解析为一个双精度的浮点数 转载于:https://www.cnblogs.com/woxinyiran12/p/9313993.html