Redis五种常用字符串类型的KEY基本操作操作(二)
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
目录 返回
首页