String
127.0.0.1:6379> set name sunxiaochuan
OK
127.0.0.1:6379> get name
"sunxiaochuan"
127.0.0.1:6379> append name ",chouxiang" #追加字符串,如果当前字符串不存在,就相当于set key
(integer) 22
127.0.0.1:6379> get name
"sunxiaochuan,chouxiang"
127.0.0.1:6379> strlen name #获取字符串长度
(integer) 22
#自增 i++
#步长 i+=
127.0.0.1:6379> incr views #自增1
(integer) 1
127.0.0.1:6379> incr views
(integer) 2
127.0.0.1:6379> decr views
(integer) 1
127.0.0.1:6379> decr views
(integer) 0
127.0.0.1:6379> decr views
(integer) -1
127.0.0.1:6379> decrby views 5 #设置步长
(integer) -6
127.0.0.1:6379> incrby views 10
(integer) 4
127.0.0.1:6379>
#字符串范围 range
127.0.0.1:6379> set test "hello world"
OK
127.0.0.1:6379> get test
"hello world"
127.0.0.1:6379> getrange test 0 5 #截取字符串[0,5]
"hello "
127.0.0.1:6379>
127.0.0.1:6379> getrange test 0 -1 #获取全部字符串
"hello world"
127.0.0.1:6379>
#替换
127.0.0.1:6379> set name sunxiaochuan
OK
127.0.0.1:6379> get name
"sunxiaochuan"
127.0.0.1:6379> setrange name 1 abc #替换指定位置开始的字符串
(integer) 12
127.0.0.1:6379> get name
"sabciaochuan"
127.0.0.1:6379>
#setex(set with expire) #设置过期时间
#setnx(set if not exist) #如果不存在,设置值为xxx
127.0.0.1:6379> setex name 10 "liubo" #设置name的值为liubo,10秒后过期
OK
127.0.0.1:6379> ttl name
(integer) 7
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379> setnx name01 "sun" #如果name01不存在,则创建
(integer) 1
127.0.0.1:6379> keys *
1) "name01"
127.0.0.1:6379> setnx name01 "liu" #name01已存在,再次创建时失败
(integer) 0
127.0.0.1:6379> get name01
"sun"
127.0.0.1:6379>
127.0.0.1:6379> mset A a B b C c #同时设置多个值
OK
127.0.0.1:6379> keys *
1) "B"
2) "A"
3) "C"
127.0.0.1:6379> mget A B C #同时获取多个值
1) "a"
2) "b"
3) "c"
127.0.0.1:6379> msetnx A a D d #msetnx是一个原子性操作,要么都成功,要么都失败
(integer) 0
127.0.0.1:6379> get D
(nil)
127.0.0.1:6379>
#对象
#设置一个id为1的对象,json字符串来保存属性,方式一
127.0.0.1:6379> set user:1 {name:ceshi,age:3}
#方式二 user:{id}:{filed}
127.0.0.1:6379> mset user:1:name ceshi user:1:age 3
OK
127.0.0.1:6379> mget user:1:name user:1:age
1) "ceshi"
2) "3"
127.0.0.1:6379>
#getset 先get再set
127.0.0.1:6379> getset name sunxiaochuan #如果不存在值,返回null
(nil)
127.0.0.1:6379> get name
"sunxiaochuan"
127.0.0.1:6379> getset name liubo #如果存在值,获取原来的值,并设置新的值
"sunxiaochuan"
127.0.0.1:6379> get name
"liubo"
127.0.0.1:6379>
String除了以上用法,还可以用于计数器,多单位数量统计等。
评论 (0)