概述
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类型的操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复