redis字符串类型详解
127.0.0.1:6379> set name zhangkun #设置值
OK
127.0.0.1:6379> get name #获取值
“zhangkun”
127.0.0.1:6379> EXISTS name #判断某个值是否存在
(integer) 1
127.0.0.1:6379> keys * #获取所有键
- “age”
- “name”
127.0.0.1:6379> APPEND name hello #在某个值后面追加字符串
(integer) 13
127.0.0.1:6379> get name
“zhangkunhello”
127.0.0.1:6379> STRLEN name #获取该字符串的长度
(integer) 13
#######################################
实现自增自减的操作
127.0.0.1:6379> set age 0
OK
127.0.0.1:6379> get age
“0”
127.0.0.1:6379> incr age #设置自增
(integer) 1
127.0.0.1:6379> incr age
(integer) 2
127.0.0.1:6379> incr age
(integer) 3
127.0.0.1:6379> DECR age #设置自减
(integer) 2
127.0.0.1:6379> DECR age
(integer) 1
127.0.0.1:6379> DECR age
(integer) 0
127.0.0.1:6379> INCRBY age 10 #设置自增的步长
(integer) 10
127.0.0.1:6379> INCRBY age 10
(integer) 20
127.0.0.1:6379> DECRBY age 5 #设置自减的步长
(integer) 15
127.0.0.1:6379> DECRBY age 5
(integer) 10
#######################################
获取字符串的范围
127.0.0.1:6379> get name
“zhangkunhello”
127.0.0.1:6379> GETRANGE name 0 3 #获取字符串0到3
“zhan”
127.0.0.1:6379> GETRANGE name 0 -1 #获取整个字符串
“zhangkunhello”
替换字符串
127.0.0.1:6379> get name
“zhangkunhello”
127.0.0.1:6379> SETRANGE name 2 xxx #替换指定位置开始的字符串
(integer) 13
127.0.0.1:6379> get name
“zhxxxkunhello”
127.0.0.1:6379> SETEX name 10 zhangkun #setex 设置过期时间
OK
127.0.0.1:6379> ttl name #查看剩余过期时间
(integer) 6
127.0.0.1:6379> SETNX dbs redis #不存在设置
(integer) 1
127.0.0.1:6379> get dbs
“redis”
127.0.0.1:6379> SETNX dbs mongdb #不存在设置,如果存在设置不成功
(integer) 0
127.0.0.1:6379> get dbs
“redis”
127.0.0.1:6379> keys * - “dbs”
- “age”
#######################################
127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3 #mset 可以同时设置多个字符串
OK
127.0.0.1:6379> keys * - “dbs”
- “k3”
- “age”
- “k1”
- “k2”
127.0.0.1:6379> mget k1 k2 k3 #mget可以同时取出多个字符串 - “v1”
- “v2”
- “v3”
127.0.0.1:6379> MSETNX k1 v1 k4 v4 #同时设置多个值,只要一个不满,都不能执行
(integer) 0
#对象
set user:1 {name:zhangsan , age:18}
还可以:
mset user:1:name zhangsan user:1:age 18
#######################################
127.0.0.1:6379> getset name zhang #先get再set
(nil)
127.0.0.1:6379> get name
“zhang”
127.0.0.1:6379> getset db2 mysql #如果不存在则返回null,并把值赋值给新设置的key
(nil)
127.0.0.1:6379> get db2
“mysql”