字符串string
127.0.0.1:6379> exists name 判断key存在
(integer) 1
127.0.0.1:6379> append name hello 追加命令append(若key不存在,则相当于set新建key) 给name追加hello 字符串
(integer) 10 字符串长度10
127.0.0.1:6379> get name 获取key
"luhanhello"
127.0.0.1:6379> strlen name
(integer) 10
127.0.0.1:6379> append name word
(integer) 14
127.0.0.1:6379> strlen name strlen命令获取去字符串的长度
(integer) 14
127.0.0.1:6379> get name
"luhanhelloword"
127.0.0.1:6379>
127.0.0.1:6379> set liuliang 0 设置初始流量为0
OK
127.0.0.1:6379> get liuliang
"0"
127.0.0.1:6379> incr liuliang 自加1
(integer) 1
127.0.0.1:6379> get liuliang 获取
"1"
127.0.0.1:6379> incr liuliang 自加1
(integer) 2
127.0.0.1:6379> get liuliang
"2"
127.0.0.1:6379> decr liuliang 自减1
(integer) 1
127.0.0.1:6379> get liuliang 获取
"1"
127.0.0.1:6379> decr liuliang 减1
(integer) 0
127.0.0.1:6379> get liuliang
"0"
设置步长
127.0.0.1:6379> incrby liuliang 4 自加4 设置步长,指定增量为4
(integer) 4
127.0.0.1:6379> incrby liuliang 4 自加4
(integer) 8
127.0.0.1:6379> get liuliang
"8"
127.0.0.1:6379> decrby liuliang 4 自减4
(integer) 4
127.0.0.1:6379> get liuliang
"4"
获取、更改指定字符串
127.0.0.1:6379> set name luhan.hello,word
OK
127.0.0.1:6379> get name
"luhan.hello,word"
127.0.0.1:6379> getrange name 0 5 表示获取0-5之间的字符串
"luhan."
127.0.0.1:6379> getrange name 0 -1 -1表示获取整个字符串
"luhan.hello,word"
更改替换
127.0.0.1:6379> get name
"luhan.hello,word"
127.0.0.1:6379> setrange name 0 wc 更改第0个字符串即第一个l为wc
(integer) 16
127.0.0.1:6379> get name
"wchan.hello,word"
setex=设置过时间 setnx=不存在再去设置,存在不设置(分布式锁中会使用)
127.0.0.1:6379> setex name1 20 hello 设置过期时间20s,到时间会自动清除
OK
127.0.0.1:6379> ttl name1
(integer) 16
127.0.0.1:6379> get name1
"hello"
127.0.0.1:6379> setnx name2 redis 创建key
(integer) 1
127.0.0.1:6379> keys *
1) "name2"
127.0.0.1:6379> setnx name2 westos 再次创建相同的key
(integer) 0 返回0表示失败,因为已经存在
127.0.0.1:6379> get name2
"redis"
知识点补充:
expire针对于已存在的key设置过期时间
setex在创建key的时候设置过期时间
setnx表示在创建新的key的时候会自动判断key是否存在,不存在就创建,存在无法创建
批量操作
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> mset name1 hello1 name2 hello2 name3 hello3 批量创建
OK
127.0.0.1:6379> mget name1 name2 name3 批量获取
1) "hello1"
2) "hello2"
3) "hello3"
127.0.0.1:6379> msetnx name2 hello2 name4 hello4 msetnx批量插入并且判断key是否存在,若其中有一个存在则全部失败
(integer) 0
对象
127.0.0.1:6379> mset user:1:name luhan user:1:age 22 这里的key是一个对象(user:1:name)
OK
127.0.0.1:6379> mget user:1:name user:1:age
1) "luhan"
2) "22"
getset命令:先获取在创建 --> 可以用来更新数据
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> getset name helloo 没有就创建
(nil)
127.0.0.1:6379> get name
"helloo"
127.0.0.1:6379> getset name word 存在就返回,然后在更改
"helloo"
127.0.0.1:6379> get name
"word"