虚拟化容器,大数据,DBA,中间件,监控。

Redis五种常用字符串类型的KEY基本操作操作(二)

11 11月
作者:admin|分类:DBA运维

redis字符串操作

1.redis字符串类型

string 字符串类型,常用于普通文本

list 列表类型,常用于一个仓库,取走一个数据就删除

hash 哈希类型,常用于将mysql数据导入redis

set 集合类型,用于不同集合进行比对

2.redis常用指令

keys * //列出所有key,生产环境不要使用,很有可能一使用keys就会把服务器内存占满,从而导致redis挂机,因为生产环境有长千上万个key

type key //查看key是什么类型

del key //删除一个key

flushdb //清除缓存

3.redis字符串类型操作

3.1.字符串类型常用指令

命令 含义 用法
set 设置一个key set key value
get 查看一个key get key value
mset 设置多个key mset key1 value1 key2 value2
mget 查看多个key mget key1 key2
incr 对整数的value值进行增值,默认一次加1 incr key
incrby 对整数的value进行自定义增加值 incrby key 增加的值
decr 对整数的value值进行缩值,默认一次减1 decr key
decrby 对整数的value进行自定义缩值 decr key 缩减的值
del 删除一个key del key
exists 查看一个key是否存在 exists key
ttl 查看一个key的生命周期 ttl key
expire 设置key的生命周期 expire key 生命周期时长
persist 设置key的生命周期为永不过期 persist key

3.2.创建一个key并查看

语法:set key名 value值

既可以在交互式创建也可以在命令行创建

1.在交互式创建一个key
[root@redis-1 ~]# redis-cli 
127.0.0.1:6379> set k1 v1
OK

2.在命令行创建一个key
[root@redis-1 ~]# redis-cli set k2 v2
OK

3.在交互式查看key内容
[root@redis-1 ~]# redis-cli 
127.0.0.1:6379> get k1 
"v1"

4.在命令行查看key内容
[root@redis-1 ~]# redis-cli get k2
"v2"

3.3.从文件中读取value并创建key

redis支持value的内容为中文,准备一个中文的文件,创建key的时候读取文件的值

中文的文件存储到redis之后是,只是显示是乱码,实际上还是中文,可以导出到文件查看中文,也可以加–raw解决乱码显示问题

1.准备一个中文的文件
[root@redis-1 ~]# cat > test.txt <<EOF
> 当你能念书时,你念书就是;当你能做事时,你做事就是;当你能恋爱时,你再去恋爱;当你能结婚时,你再去结婚。环境不许可时,强求不来;时机来临时,放弃不得。这便是一个人应有的生活哲学了。
> EOF

2.创建一个key从文件中读取value
[root@redis-1 ~]# redis-cli set test `cat test.txt`
OK

3.查看key的内容,会发现是乱码
[root@redis-1 ~]# redis-cli get test
"\xe5\xbd\x93\xe4\xbd\xa0\xe8\x83\xbd\xe5\xbf\xb5\xe4\xb9\xa6\xe6\x97\xb6\xef\xbc\x8c\xe4\xbd\xa0\xe5\xbf\xb5\xe4\xb9\xa6\xe5\xb0\xb1\xe6\x98\xaf\xef\xbc\x9b\xe5\xbd\x93\xe4\xbd\xa0\xe8\x83\xbd\xe5\x81\x9a\xe4\xba\x8b\xe6\x97\xb6\xef\xbc\x8c\xe4\xbd\xa0\xe5\x81\x9a\xe4\xba\x8b\xe5\xb0\xb1\xe6\x98\xaf\xef\xbc\x9b\xe5\xbd\x93\xe4\xbd\xa0\xe8\x83\xbd\xe6\x81\x8b\xe7\x88\xb1\xe6\x97\xb6\xef\xbc\x8c\xe4\xbd\xa0\xe5\x86\x8d\xe5\x8e\xbb\xe6\x81\x8b\xe7\x88\xb1\xef\xbc\x9b\xe5\xbd\x93\xe4\xbd\xa0\xe8\x83\xbd\xe7\xbb\x93\xe5\xa9\x9a\xe6\x97\xb6\xef\xbc\x8c\xe4\xbd\xa0\xe5\x86\x8d\xe5\x8e\xbb\xe7\xbb\x93\xe5\xa9\x9a\xe3\x80\x82\xe7\x8e\xaf\xe5\xa2\x83\xe4\xb8\x8d\xe8\xae\xb8\xe5\x8f\xaf\xe6\x97\xb6\xef\xbc\x8c\xe5\xbc\xba\xe6\xb1\x82\xe4\xb8\x8d\xe6\x9d\xa5\xef\xbc\x9b\xe6\x97\xb6\xe6\x9c\xba\xe6\x9d\xa5\xe4\xb8\xb4\xe6\x97\xb6\xef\xbc\x8c\xe6\x94\xbe\xe5\xbc\x83\xe4\xb8\x8d\xe5\xbe\x97\xe3\x80\x82\xe8\xbf\x99\xe4\xbe\xbf\xe6\x98\xaf\xe4\xb8\x80\xe4\xb8\xaa\xe4\xba\xba\xe5\xba\x94\xe6\x9c\x89\xe7\x9a\x84\xe7\x94\x9f\xe6\xb4\xbb\xe5\x93\xb2\xe5\xad\xa6\xe4\xba\x86\xe3\x80\x82"

4.将key导出到文件时会发现是中文输出
[root@redis-1 ~]# cat test2.txt
当你能念书时,你念书就是;当你能做事时,你做事就是;当你能恋爱时,你再去恋爱;当你能结婚时,你再去结婚。环境不许可时,强求不来;时机来临时,放弃不得。这便是一个人应有的生活哲学了。

5.解决redis显示中文乱码
[root@redis-1 ~]# redis-cli --raw get test
当你能念书时,你念书就是;当你能做事时,你做事就是;当你能恋爱时,你再去恋爱;当你能结婚时,你再去结婚。环境不许可时,强求不来;时机来临时,放弃不得。这便是一个人应有的生活哲学了。

请添加图片描述

3.4.对整数的value增值

redis支持对一些整数的value的值增加和减少,前提是value值必须为整数

整数增值使使用INCR命令,INCR每次加1,INCRBY可以根据自己的需求进行增加

1.创建一个整数的key,将100增加到103
[root@redis-1 ~]# redis-cli 
127.0.0.1:6379> set num1 100
OK
127.0.0.1:6379> INCR num1
(integer) 101
127.0.0.1:6379> INCR num1
(integer) 102
127.0.0.1:6379> INCR num1
(integer) 103
127.0.0.1:6379> get num1
"103"


2.使用INCRBY自定义增加值,将103加到113
[root@redis-1 ~]# redis-cli 
127.0.0.1:6379> get num1
"103
127.0.0.1:6379> INCRBY num1 10
(integer) 113
127.0.0.1:6379> get num1
"113"

3.5.对整数的Value进行减值

DECR每次减1,DECRER可以自定义每次减的值

1.使用DECR每次减1
[root@redis-1 ~]# redis-cli 
127.0.0.1:6379> get num1
"113"
127.0.0.1:6379> DECR num1
(integer) 112
127.0.0.1:6379> DECR num1
(integer) 111


2.使用DECR每次减10
[root@redis-1 ~]# redis-cli 
127.0.0.1:6379> get num1
"111"
127.0.0.1:6379> DECRBY num1 11
(integer) 100
127.0.0.1:6379> get num1
"100"

3.6.查看key类型

127.0.0.1:6379> type k1					//类型为字符串
string


127.0.0.1:6379> type num1				//即使值为整数也属于string,因为是由set创建的key
string

命令行查看
[root@redis-1 ~]# redis-cli type k1
string

3.7.使用mset创建多个key

语法格式:mset key1 value2 key2 value2

127.0.0.1:6379> MSET k3 v3 k4 v4 k5 v5 k6 v6
OK

127.0.0.1:6379> keys *
1) "test"
2) "k2"
3) "k4"
4) "num1"
5) "k1"
6) "num"
7) "k5"
8) "k3"
9) "k6"

在命令行创建
[root@redis-1 ~]# redis-cli MSET k3 v3 k4 v4 k5 v5 k6 v6
OK

3.8.使用mget查看多个key的值

语法格式:mget key1 key2 key3

127.0.0.1:6379> MGET k1 k2 k3 k4 k5 k6
1) "v1"
2) "v2"
3) "v3"
4) "v4"
5) "v5"
6) "v6"

在命令行查看
[root@redis-1 ~]# redis-cli MGET k1 k2 k3 k4 k5 k6
1) "v1"
2) "v2"
3) "v3"
4) "v4"
5) "v5"
6) "v6"

3.9.查看一个key是否存在

语法格式 exists key

返回结果为1表示存在,返回结果为0表示不存在

[root@redis-1 ~]# redis-cli 
127.0.0.1:6379> EXISTS k10
(integer) 0
127.0.0.1:6379> EXISTS k6
(integer) 1

命令行创建
[root@redis-1 ~]# redis-cli  exists k6
(integer) 1

3.10.删除一个key

语法格式:del key

返回结果为1表示删除成功,返回结果为0表示不存在

[root@redis-1 ~]# redis-cli
127.0.0.1:6379> del k6
(integer) 1
127.0.0.1:6379> del k6
(integer) 0

命令行
[root@redis-1 ~]# redis-cli del k6
(integer) 0

浏览437 评论0
返回
目录
返回
首页
Redis List列表字符类型(四) ⭐一图搞懂Redis主从复制原理⭐