1.String(字符串)
①添加、查询、追加、获取长度,判断是否存在的操作
C:\Users\12559>redis-cli.exe # 启动redis
127.0.0.1:6379> set name kobe # 插入一个key为'name'值为'kobe'的数据
OK
127.0.0.1:6379> get name # 获取key为'name'的数据
"kobe"
127.0.0.1:6379> keys * # 查看当前库中所有的key
1) "student:1:name"
2) "student:1:age"
3) "name"
4) "hello"
5) "num"
127.0.0.1:6379> exists name #判断key为‘name’的数据存在不存在,存在返回1
(integer) 1
127.0.0.1:6379> exists name1 # #判断key为‘name1’的数据存在不存在,存在返回0
(integer) 0
127.0.0.1:6379> strlen name #查看key为‘name’的字符串长度
(integer) 4
127.0.0.1:6379> append name wade # 追加, 如果key存在,拼接到后面,返回总长度
(integer) 8
127.0.0.1:6379> get name
"kobewade"
127.0.0.1:6379> set key1 "hello world" # 插入数据中有空格需要加双引号
OK
127.0.0.1:6379> set key2 hello world # Redis中空格就是分隔符,相当于该参数已结束
(error) ERR syntax error
127.0.0.1:6379>
![](https://img-blog.csdnimg.cn/665d5385614f483bb7bff7fa38e7ebab.png)
②自增、自减操作
127.0.0.1:6379> set num 0 # 插入一个初始值为0的数据
OK
127.0.0.1:6379> get num # 获取key为num的值
"0"
127.0.0.1:6379> incr num # 指定key为num的数据自增1
(integer) 1
127.0.0.1:6379> get num
"1"
127.0.0.1:6379> incr num
(integer) 2
127.0.0.1:6379> get num
"2"
127.0.0.1:6379> decr num # 指定key为num的数据自减1
(integer) 1
127.0.0.1:6379> get num
"1"
127.0.0.1:6379> incrby num 10 # 后面跟上by 指定key为‘num’的数据自增‘参数(10)’
(integer) 11
127.0.0.1:6379> decrby num 3 # 后面跟上by 指定key为‘num’的数据自减‘参数(3)’
(integer) 8
127.0.0.1:6379>
![](https://img-blog.csdnimg.cn/f101ce1d08b546fb982bf5e168121382.png)
③截取、替换字符串操作
127.0.0.1:6379> set key1 "hello world!"
OK
127.0.0.1:6379> get key1
"hello world!"
127.0.0.1:6379> getrange key1 0 4 # 截取字符串,下标从0开始,原key的值不改变
"hello"
127.0.0.1:6379> get key1
"hello world!"
127.0.0.1:6379> getrange key1 0 -1 # 相当于 get key1
"hello world!"
127.0.0.1:6379> set key2 "hello world!"
OK
127.0.0.1:6379> get key2
"hello world!"
127.0.0.1:6379> setrange key2 5 888 # 替换,原key的值会改变
(integer) 12
127.0.0.1:6379> get key2
"hello888rld!"
127.0.0.1:6379>
![](https://img-blog.csdnimg.cn/53642ae5839d4a9e9e011fe18a520184.png)
④mset、mget操作
127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3 # 插入多条数据
OK
127.0.0.1:6379> keys * # 查询所有的key
1) "k2"
2) "k1"
3) "k3"
127.0.0.1:6379> mget k1 k2 k3 # 查询key为'k1','k2','k3'的数据
1) "v1"
2) "v2"
3) "v3"
127.0.0.1:6379> msetnx k4 v4 k5 v5 # msetnx是一个原子操作,全部成功或者全部失败
(integer) 1
127.0.0.1:6379> keys *
1) "k2"
2) "k1"
3) "k4"
4) "k3"
5) "k5"
127.0.0.1:6379>
![](https://img-blog.csdnimg.cn/e04ca23f6b964f3eac2db3fbf7dcd072.png)
⑤添加获取对象、getset操作
127.0.0.1:6379> mset student:1:name dingdada student:1:age 22 #新增一个key为‘student:1:name’,value为‘dingdada ’。。等数据
OK
127.0.0.1:6379> keys * #查看所有的key
1) "student:1:age"
2) "student:1:name"
127.0.0.1:6379> mget student:1:age student:1:name #获取数据
1) "22"
2) "dingdada"
##getset操作
127.0.0.1:6379> getset name1 dingdada1 #先get再set,先获取key,如果没有,set值进去,返回的是get的值
(nil)
127.0.0.1:6379> get name1
"dingdada1"
127.0.0.1:6379> getset name1 dingdada2 ##先获取key,如果有,set(替换)最新的值进去,返回的是get的值
"dingdada1"
127.0.0.1:6379> get name1 #替换成功
"dingdada2"
⑥总结
String是Redis中最常用的一种数据类型,也是Redis中最简单的一种数据类型。首先,表面上它是字符串,但其实他可以灵活的表示字符串、整数、浮点数3种值。Redis会自动的识别这3种值。