我是靠谱客的博主 狂野香菇,最近开发中收集的这篇文章主要介绍Redis基础——String类型的操作Redis——String类型的操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Redis——String类型的操作

set key value [ex 秒数] [px 毫秒数] [nx]/[xx]

  •   set a 1 ex 10 , 10秒有效
  •   set a 1 px 9000 , 9秒有效
  •   注: 如果ex,px同时写,以后面的有效期为准
  •   如 set a 1 ex 100 px 9000, 实际有效期是9000毫秒
  •   nx: 表示key不存在时,执行操作
  •   xx: 表示key存在时,执行操作,即对key进行修改
127.0.0.1:6379[1]> set height 183cm px 10000
OK
127.0.0.1:6379[1]> ttl height
(integer) 4
127.0.0.1:6379[1]> ttl height
(integer) -2
127.0.0.1:6379> set name zhangsan ex 13  px 25000
OK
127.0.0.1:6379> ttl name
(integer) 22
127.0.0.1:6379> pttl name
(integer) 16956
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> set name gui nx
OK
127.0.0.1:6379> set name gui nx
(nil)
127.0.0.1:6379> set name gui1 xx
OK
127.0.0.1:6379> set name1 gui1 xx
(nil)

mset key1 value1 key2 value2   一次设置多个键值

127.0.0.1:6379> mset name gui age 23
OK

get key   获取值

127.0.0.1:6379> get name
"gui"

mget key1 key2   一次获取多个键值

127.0.0.1:6379> mget name age
1) "gui"
2) "23"

setrange key offset value   把字符串的offset偏移字节,改成value

127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> set word hello
OK
127.0.0.1:6379> get word
"hello"
127.0.0.1:6379> setrange word 1 ??
(integer) 5
127.0.0.1:6379> get word
"h??lo"
127.0.0.1:6379> set word hello xx
OK
127.0.0.1:6379> setrange word 6 !
(integer) 7
127.0.0.1:6379> get word
"hellox00!"  // 如果偏移量大于字符长度,那么在该字符位置补x00

append key value   在key的值后面追加字符

127.0.0.1:6379> get word
"hellox00!"
127.0.0.1:6379> append word @@@
(integer) 10
127.0.0.1:6379> get word
"hellox00!@@@"

getrange key start stop   获取字符串中 [start, stop]范围的值

  •    start>=length, 则返回空字符串
  •    stop>=length,则截取至字符结尾
  •    如果start 所处位置在stop右边, 返回空字符串  
127.0.0.1:6379> getrange word 0 4
"hello"
127.0.0.1:6379> getrange word 0 5
"hellox00"
127.0.0.1:6379> getrange word 0 -3
"hellox00!@"
127.0.0.1:6379> getrange word 6 3
""
127.0.0.1:6379> getrange word 3 100
"lox00!@@@"
127.0.0.1:6379> getrange word 30 100
""

getset key value   获取旧值并设置新值

127.0.0.1:6379> getset word Gui_qLi
"hellox00!@@@"
127.0.0.1:6379> get word
"Gui_qLi"

incr key    对指定的key值加1,并显示

127.0.0.1:6379> incr word
(error) ERR value is not an integer or out of range
127.0.0.1:6379> set age 23
OK
127.0.0.1:6379> incr age // 可以用于做计数、抢单
(integer) 24
127.0.0.1:6379> get age
"24"

decr key    对指定的key值减1,并显示

127.0.0.1:6379> decr age
(integer) 23
127.0.0.1:6379> get age
"23"

incrby key value    对指定的key值加value,并显示

127.0.0.1:6379> incrby age 10
(integer) 33
127.0.0.1:6379> incrby age 10
(integer) 43

incrby key value    对指定的key值减value,并显示

127.0.0.1:6379> decrby age 5
(integer) 38
127.0.0.1:6379> decrby age 5
(integer) 33

incrbyfloat key value    对指定的key值加value【浮点数】,并显示

127.0.0.1:6379> incrbyfloat age 0.83
"33.829999999999998"
127.0.0.1:6379> incrbyfloat age -0.83
"33"

setbit key offset value   

  •   如果offset过大,则会在中间填充0,
  •   offset最大大到多少
  •   offset最大2^32-1, 2^32*2^-3 byte = 512M 可推出最大的的字符串为512M
127.0.0.1:6379> set char A
OK
127.0.0.1:6379> get char
"A"
127.0.0.1:6379> setbit char 2 1
(integer) 0
127.0.0.1:6379> get char
"a"
127.0.0.1:6379> setbit char 2 0
(integer) 1
127.0.0.1:6379> get char
"A"
127.0.0.1:6379> get char
"Ax00x00"
127.0.0.1:6379> setbit char 4294967296 1
(error) ERR bit offset is not an integer or out of range
127.0.0.1:6379> setbit char 4294967295 1  // offset最大偏移量2^32-1
(integer) 0
127.0.0.1:6379> set test ABC
OK
127.0.0.1:6379> setbit test 10 1
(integer) 0
127.0.0.1:6379> get test
"AbC"

bitop operation destkey key1 [key2...]

对key1,key2..keyN作operation,并将结果保存到 destkey 上。 operation 可以是 AND 、 OR 、 NOT 、 XOR 注意: 对于NOT操作, key不能多个

127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> setbit upperchar 1 1
(integer) 0
127.0.0.1:6379> setbit upperchar 7 1
(integer) 0
127.0.0.1:6379> get upperchar
"A"
127.0.0.1:6379> setbit tolower 2 1
(integer) 0
127.0.0.1:6379> bitop or upperchar upperchar tolower
(integer) 1
127.0.0.1:6379> get upperchar
"a"

转载于:https://my.oschina.net/u/3906795/blog/1926086

最后

以上就是狂野香菇为你收集整理的Redis基础——String类型的操作Redis——String类型的操作的全部内容,希望文章能够帮你解决Redis基础——String类型的操作Redis——String类型的操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部