在key设置之处就有生命周期:
set key value [ex 秒]/[px 毫秒]
set key value [nx]/[xx]
nx:表示key不存在时执行操作(NOT EXIST)
xx:表示key存在时执行操作
-
set site www.redis.io ex 10
site key不存在,所以nx才能改
-
127.0.0.1:6379> set site www.memcached.org xx
-
(nil)
-
127.0.0.1:6379> set site www.memcached.org nx
-
OK
mset一次性设置多个键值:
-
127.0.0.1:6379> mset empno 7788 ename scott sal 2000 comm 100 deptno 20
-
OK
-
127.0.0.1:6379> get empno
-
"7788"
-
127.0.0.1:6379> get ename
-
"scott"
-
127.0.0.1:6379> get sal
-
"2000"
-
127.0.0.1:6379> get comm
-
"100"
-
127.0.0.1:6379> get deptno
-
"20"
一次获得多个键值mget:
-
127.0.0.1:6379> mget empno ename sal comm deptno
-
1) "7788"
-
2) "scott"
-
3) "2000"
-
4) "100"
-
5) "20"
setrange key offset value:第一位标记为0
-
127.0.0.1:6379> set word hello
-
OK
-
127.0.0.1:6379> setrange word 2 ??
-
(integer) 5
-
127.0.0.1:6379> get word
-
"he??o"
-
127.0.0.1:6379> setrange word 2 #######
-
(integer) 9
-
127.0.0.1:6379> get word
-
"he#######"
-
127.0.0.1:6379> set word hello
-
OK
-
127.0.0.1:6379> get word
-
"hello"
-
127.0.0.1:6379> setrange word 6 !
-
(integer) 7
-
127.0.0.1:6379> get word
-
"hello\x00!"
如果偏移位大于字符长度,添加16进制0补充。
追加append:
-
127.0.0.1:6379> get word
-
"hello\x00!"
-
127.0.0.1:6379> append word sb
-
(integer) 9
-
127.0.0.1:6379> get word
-
"hello\x00!sb"
截取子串:自己体会吧... ...
-
127.0.0.1:6379> get word
-
"hello\x00!sb"
-
127.0.0.1:6379> getrange word 0 3
-
"hell"
-
127.0.0.1:6379> getrange word 3 5
-
"lo\x00"
-
-
127.0.0.1:6379> getrange word 1 3
-
"ell"
-
127.0.0.1:6379> set status working
-
OK
-
127.0.0.1:6379> get status
-
"working"
-
127.0.0.1:6379> getrange status 0 -3
-
"worki"
-
127.0.0.1:6379> getrange status 0 -4
-
"work"
-
127.0.0.1:6379> getrange status 6 3
-
""
-
127.0.0.1:6379> getrange status 5 4
-
""
getset:获得旧值的同时设置新值。
-
127.0.0.1:6379> get word
-
"hello\x00!sb"
-
127.0.0.1:6379> getset word hellpabc
-
"hello\x00!sb"
-
127.0.0.1:6379> getset word hello
-
"hellpabc"
-
127.0.0.1:6379> get word
-
"hello"
incr/decr/incrby num/decrby age 5:
-
127.0.0.1:6379> set age 20
-
OK
-
127.0.0.1:6379> incr age
-
(integer) 21
-
127.0.0.1:6379> get incr
-
(nil)
-
127.0.0.1:6379> decr age
-
(integer) 20
说个设计的例子就是 抢手机活动,比如1分钟10w个订单,这个处理要在redis中做,只要先获得资格就可以。
set number 100000 来抢单的话decr一下
incrbyfloat:
-
127.0.0.1:6379> incrbyfloat age 0.5
-
"20.5"
setbit:按照位 运算
-
127.0.0.1:6379> set char A
-
OK
-
127.0.0.1:6379> setbit char 2 1
-
(integer) 0
-
127.0.0.1:6379> get char
-
"a"
-
127.0.0.1:6379> set char b
-
OK
-
127.0.0.1:6379> setbit char 2 0
-
(integer) 1
-
127.0.0.1:6379> get char
-
"B"
bitop or res char lower char和lower做为与运算结果是res
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29990276/viewspace-1775029/
,如需转载,请注明出处,否则将追究法律责任。