大家好,今天分享一下Redis string字符串类型的解释
我们说过,Redis可以支持多种数据类型
string就是字符串
创建键值对
127.0.0.1:6379> set menren shaige
OK
127.0.0.1:6379>
获取值
127.0.0.1:6379> get menren
"shaige"
显示所有键
127.0.0.1:6379> keys *
1) "menren"
判断指定的键是否存在(1 表示存在)
127.0.0.1:6379> EXISTS menren
(integer) 1
127.0.0.1:6379>
在原有的键的基础上加上woshi(选择是11个字符)
127.0.0.1:6379> APPEND menren "woshi"
(integer) 11
127.0.0.1:6379>
查看现在的键
127.0.0.1:6379> get menren
"shaigewoshi"
127.0.0.1:6379>
查看现在的字段长度
127.0.0.1:6379> STRLEN menren
(integer) 11
创建键值对
127.0.0.1:6379> set age 1
OK
127.0.0.1:6379>
做逐次加一的操作
127.0.0.1:6379> INCR age
(integer) 2
127.0.0.1:6379> INCR age
(integer) 3
127.0.0.1:6379> INCR age
(integer) 4
127.0.0.1:6379> INCR age
(integer) 5
127.0.0.1:6379> INCR age
(integer) 6
127.0.0.1:6379> INCR age
(integer) 7
127.0.0.1:6379>
查看现在的值
127.0.0.1:6379> get age
"7"
做逐次减一的操作
127.0.0.1:6379> decr age
(integer) 6
127.0.0.1:6379> decr age
(integer) 5
127.0.0.1:6379> decr age
(integer) 4
127.0.0.1:6379> decr 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> get age
"0"
设置步长
127.0.0.1:6379> INCRBY age 20
(integer) 20
查看现在的值:
127.0.0.1:6379> get age
"20"
减去7,现在的值是13
127.0.0.1:6379> DECRBY age 7
(integer) 13
清空键且创建新的值
127.0.0.1:6379> FLUSHALL
OK
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set name "i like dogs and cat very much"
OK
127.0.0.1:6379>
获取值
127.0.0.1:6379> get name
"i like dogs and cat very much"
在对应的值当中查看第0个(就是开头第一个) 和第五个的字符
127.0.0.1:6379> GETRANGE name 0 5
"i like"
查看所有的字符
127.0.0.1:6379> GETRANGE name 0 -1
"i like dogs and cat very much"
替换的相关操作
127.0.0.1:6379> set io abcd
OK
获取值
127.0.0.1:6379> get io
"abcd"
在指定的位置上进行开始的字符串
127.0.0.1:6379> SETRANGE io 1 yt
(integer) 4
获取值(第二个进行更改 ,它是从0开始的。就是说yt 写在第二个位置)
127.0.0.1:6379> get io
"aytd"
设置过期时间
127.0.0.1:6379> setex ju 30 "jiao"
OK
返回值为负数的时候,这个键值对就不存在了
127.0.0.1:6379> ttl ju
(integer) 5
127.0.0.1:6379> ttl ju
(integer) 4
127.0.0.1:6379> ttl ju
(integer) 3
127.0.0.1:6379> ttl ju
(integer) 3
127.0.0.1:6379> ttl ju
(integer) 2
127.0.0.1:6379> ttl ju
(integer) 2
127.0.0.1:6379> ttl ju
(integer) 1
127.0.0.1:6379> ttl ju
(integer) -2
127.0.0.1:6379> ttl ju
(integer) -2
在不存在时创建(设置test 的值是"wozhuishuai")
127.0.0.1:6379> setnx test "wozhuishuai"
(integer) 1
获取值
127.0.0.1:6379> get test
"wozhuishuai"
127.0.0.1:6379> FLUSHALL //清空所有键
OK
127.0.0.1:6379> keys * //查看当前的键
(empty list or set)
批量设置键值对
127.0.0.1:6379> mset k1 v1 k2 v2 //同时创建多个值
OK
127.0.0.1:6379> keys * //显示键
1) "k2"
2) "k1"
127.0.0.1:6379>
获取值
127.0.0.1:6379> mget k1 k2 //批量同时获取多个值
1) "v1"
2) "v2"
这是原子性的一种体现,即: 要么一起成功,要么一起失败 (返回1,表示成功)
127.0.0.1:6379> msetnx name san age 1
(integer) 1
127.0.0.1:6379> //如果这个键值对已经存在,就无法建立
这个就表示创建键值对失败,因为这个键值对在之前就已经存在
127.0.0.1:6379> msetnx name san age 1
(integer) 0
还有对象的概念;
这就是一个对象(我们在这里设置了user:1 对象的取值为json字符)
127.0.0.1:6379> set user:1{name:lisi age:1}
OK
127.0.0.1:6379> MSET user:1:name wangwu user:1:age 5
OK
获取值
127.0.0.1:6379> mget user:1:name user:1:age
1) "wangwu"
2) "5"
getset : 先get 再set
127.0.0.1:6379> getset ke op //如果不存在,则返回nil
(nil)
获取这个值
127.0.0.1:6379> get ke
"op"
127.0.0.1:6379> getset ke go 如果存在这个值,获取原来的值,设置新的值
"op"
127.0.0.1:6379> get ke
"go"
127.0.0.1:6379>
string (字符串)的数据类型的使用场景
1…计时器
2. 对较大的数值进行统计
好了,有关于Redis string字符串类型的解释就到这里了,谢谢大家