redis 基础数据类型Stirng(字符串)
常用命令
命令 | 说明 |
---|
set key value | 设置值 |
get value | 获取值 |
exists key | 判断1个key是否存在 |
append key value | 追加字符串,key不存在时,即为set key |
strlen key | 获取字符串的长度 |
incr key | 自增1 |
decr key | 自减1 |
incrby key n | 自增n |
decrby key n | 自减n |
getrange key n1 n2 | 获取key对应字符串 [n1,n3] |
getrange key 0 -1 | 获得key对应全部内容,相当于 get key |
setrange key offset value | 将key对应字符串从 offset 开始的n(value长度)个字符替换为 value |
setex key n value | 设置key值为value,n秒后过期 |
setnx key value | 不存在时创建(存在时创建失败) |
mset k1 v1 k2 v2 k3 v3 … | 同时设置多个值 |
mget k1 k2 k3 … | 同时获取多个值 |
msetnx k1 v1 k2 v2 … | 同时设置多个值(不存在,原子操作) |
mset object:i:filed1:value1 … | 设置object对象,id为i,属性filed1对应值为value1 |
mget object:i:filed1 onject:i:filed2 … | 获取id为 i 的object对象的属性filed1和filed2 |
getset key value | 获取key原来的值,再设置新值 |
示例
[root@VM-0-10-centos ~]# redis-cli -p 6379
127.0.0.1:6379> set mykey hello
OK
127.0.0.1:6379> get mykey
"hello"
127.0.0.1:6379> exists key1
(integer) 0
127.0.0.1:6379> exists mykey
(integer) 1
127.0.0.1:6379> append mykey -world
(integer) 11
127.0.0.1:6379> get mykey
"hello-world"
127.0.0.1:6379> strlen mykey
(integer) 11
127.0.0.1:6379> set views 1
OK
127.0.0.1:6379> get views
"1"
127.0.0.1:6379> incr views
(integer) 2
127.0.0.1:6379> incr views
(integer) 3
127.0.0.1:6379> get views
"3"
127.0.0.1:6379> decr views
(integer) 2
127.0.0.1:6379> get views
"2"
127.0.0.1:6379> get views
"2"
127.0.0.1:6379> incrby views 10
(integer) 12
127.0.0.1:6379> get views
"12"
127.0.0.1:6379> decrby views 4
(integer) 8
127.0.0.1:6379> get views
"8"
127.0.0.1:6379> set mykey abcdefgh
OK
127.0.0.1:6379> get mykey
"abcdefgh"
127.0.0.1:6379> getrange mykey 0 3
"abcd"
127.0.0.1:6379> getrange mykey 0 -1
"abcdefgh"
127.0.0.1:6379> get mykey
"abcdefgh"
127.0.0.1:6379> setrange mykey 3 xxx
(integer) 8
127.0.0.1:6379> get mykey
"abcxxxgh"
127.0.0.1:6379> set mykey 10 hello
(error) ERR syntax error
127.0.0.1:6379> setex time 10 hello
OK
127.0.0.1:6379> ttl time
(integer) 6
127.0.0.1:6379> exists time
(integer) 0
127.0.0.1:6379> set mykey hello
OK
127.0.0.1:6379> get mykey
"hello"
127.0.0.1:6379> setnx mykey world
(integer) 0
127.0.0.1:6379> get mykey
"hello"
127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3
OK
127.0.0.1:6379> mget k1 k2 k3
1) "v1"
2) "v2"
3) "v3"
127.0.0.1:6379> msetnx k3 v33 k4 v4
(integer) 0 ## 此处因为k3已经存在,所以会创建失败
127.0.0.1:6379> mget k1 k2 k3
1) "v1"
2) "v2"
3) "v3"
127.0.0.1:6379> mset user:1:name tony user:1:age 18
OK
127.0.0.1:6379> mget user:1:name user:1:age
1) "tony"
2) "18"
127.0.0.1:6379> set mykey hello
OK
127.0.0.1:6379> get mykey
"hello"
127.0.0.1:6379> getset mykey world
"hello"
127.0.0.1:6379> get mykey
"world"