Redis基础命令、数据类型详解

本文详细介绍了Redis的基本命令,包括ping检查状态、key-value操作、哈希数据类型、List、Set、ZSet的使用方法,以及如何设置key的过期时间。

一.Redis命令

1.ping

查看redis健康状态

2.key value

1)存储和查找

get获取内容都是以字符串进行保存的

127.0.0.1:6379> set str1 abc
OK
127.0.0.1:6379> get str1
"abc"
127.0.0.1:6379> 

2)查看所有key

127.0.0.1:6379> keys *
1) "str1"
127.0.0.1:6379>

3)incr使用:加一

值加一操作,如果错误

127.0.0.1:6379> incr key1
(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.

运行config set stop-writes-on-bgsave-error no在使用incr

127.0.0.1:6379> config set stop-writes-on-bgsave-error no
OK
127.0.0.1:6379> incr key1
(integer) 1
127.0.0.1:6379> 

incr:创建key默认是0,然后加一,incr key1=1

127.0.0.1:6379> incr key1
(integer) 1
127.0.0.1:6379> keys *
1) "str1"
2) "key1"
127.0.0.1:6379> get key1
"1"
127.0.0.1:6379> incr key1
(integer) 2
127.0.0.1:6379> get key1
"2"
127.0.0.1:6379> keys *
1) "str1"
2) "key1"
127.0.0.1:6379>

4)decr使用:减一

127.0.0.1:6379> decr key1
(integer) 0
127.0.0.1:6379> get key1
"0"
127.0.0.1:6379> decr key1
(integer) -1
127.0.0.1:6379> get key1
"-1"
127.0.0.1:6379> 

5)删除key

127.0.0.1:6379> keys *
1) "str1"
2) "key1"
127.0.0.1:6379> del key1
(integer) 1
127.0.0.1:6379> keys *
1) "str1"
127.0.0.1:6379> 

二.哈希

1.创建了一个hash1类型的field1的值是1

1).增加一个

127.0.0.1:6379> hset hash1 field1 1
(integer) 1
127.0.0.1:6379> 

2).在向hash1中增加一个

127.0.0.1:6379> hset hash1 field2 a
(integer) 1
127.0.0.1:6379> 

2.获取hash1值

127.0.0.1:6379> hget hash1 field1
"1"
127.0.0.1:6379> 

3.查看key

1)查看所有key

127.0.0.1:6379> keys *
1) "hash1"
2) "str1"
3) "key1"
127.0.0.1:6379>

2)hash1的所有key

127.0.0.1:6379> hkeys hash1
1) "field1"
2) "field2"
127.0.0.1:6379> 

4.查看hash1所有值

127.0.0.1:6379> hvals hash1
1) "1"
2) "a"
127.0.0.1:6379> 

5.获取hash1的key和值

127.0.0.1:6379> hgetall hash1
1) "field1"
2) "1"
3) "field2"
4) "a"
127.0.0.1:6379> 

6.删除field2

127.0.0.1:6379> hdel hash1 field2
(integer) 1
127.0.0.1:6379> hkeys hash1
1) "field1"
127.0.0.1:6379> 

三.其它数据类型

1.List

适合做排队的事情

//从左面添加数据集
127.0.0.1:6379> lpush list1 1 2 3 4 5 6 
(integer) 6
//从右面添加收据
127.0.0.1:6379> rpush list1 a b c d e
(integer) 11
//查看所有数据,0:是起始位置,-1:是结束位置,查看全部填写-1
127.0.0.1:6379> lrange list1 0 -1
 1) "6"
 2) "5"
 3) "4"
 4) "3"
 5) "2"
 6) "1"
 7) "a"
 8) "b"
 9) "c"
10) "d"
11) "e"
//从左面获取数据
127.0.0.1:6379> lpop list1
"6"
//获取玩数据,数据就不在list中存在了
127.0.0.1:6379> lrange list1 0 -1
 1) "5"
 2) "4"
 3) "3"
 4) "2"
 5) "1"
 6) "a"
 7) "b"
 8) "c"
 9) "d"
10) "e"
//从右面获取数据
127.0.0.1:6379> rpop list1
"e"
//获取玩数据,数据将不在list中存在了
127.0.0.1:6379> lrange list1 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
5) "1"
6) "a"
7) "b"
8) "c"
9) "d"
127.0.0.1:6379> 

2.Set

//会自动过滤掉重复数据
127.0.0.1:6379> sadd set1 a b a b c d
(integer) 4
//删除元素a
127.0.0.1:6379> srem set1 a
(integer) 1
//查看当前set1中所有元素
127.0.0.1:6379> smembers set1
1) "b"
2) "d"
3) "c"

//创建两个set变量
127.0.0.1:6379> sadd seta a b c d e
(integer) 5
127.0.0.1:6379> sadd setb c d e f g
(integer) 5
//获取差集:seta-setb
127.0.0.1:6379> sdiff seta setb
1) "b"
2) "a"
//获取差集:setb-seta
127.0.0.1:6379> sdiff setb seta
1) "g"
2) "f"
//获取并集
127.0.0.1:6379> sinter seta setb
1) "e"
2) "c"
3) "d"
//获取交集
127.0.0.1:6379> sunion seta setb
1) "e"
2) "g"
3) "c"
4) "d"
5) "b"
6) "f"
7) "a"
127.0.0.1:6379> 

3.ZSet

//去重并排序
127.0.0.1:6379> zadd zset1 1 a 3 b 2 c 5 d
(integer) 4
//获取全部数据
127.0.0.1:6379> zrange zset1 0 -1
1) "a"
2) "c"
3) "b"
4) "d"
//删除a
127.0.0.1:6379> zrem zset1 a
(integer) 1
127.0.0.1:6379> zrange zset1 0 -1
1) "b"
2) "c"
3) "d"
//降序排列
127.0.0.1:6379> zrevrange zset1 0 -1
1) "d"
2) "c"
3) "b"
//带分数取数
127.0.0.1:6379> zrevrange zset1 0 -1 withscores
1) "d"
2) "5"
3) "c"
4) "3"
5) "b"
6) "2"
127.0.0.1:6379> zrange zset1 0 -1 withscores
1) "c"
2) "2"
3) "b"
4) "3"
5) "d"
6) "5"
127.0.0.1:6379> 

4.key过期时间

127.0.0.1:6379> keys *
1) "zset1"
2) "str1"
3) "list1"
4) "key1"
5) "setb"
6) "hash1"
7) "seta"
8) "set1"
//100秒后key1会被删除
127.0.0.1:6379> expire key1 100
(integer) 1
//查看key1还有多长时间过期
127.0.0.1:6379> ttl key1
(integer) 36
//如果看到的是-1:那么是永久保存持久化的,如果是-2:说明key不存在
127.0.0.1:6379> ttl key1
(integer) -2
127.0.0.1:6379> set key1 100
OK
127.0.0.1:6379> get key1
"100"
127.0.0.1:6379> expire key1 60
(integer) 1
127.0.0.1:6379> ttl key1
(integer) 56
//重置过期时间
127.0.0.1:6379> expire key1 60
(integer) 1
127.0.0.1:6379> ttl key1
(integer) 58
//持久化保存
127.0.0.1:6379> Persist key1
(integer) 1
127.0.0.1:6379> ttl key1
(integer) -1
127.0.0.1:6379> 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

影孓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值