Redis 数据类型和应用场景

释放双眼,带上耳机,听听看~!

Redis 特性

Redis具有速度快、持久化、多钟数据结构、支持多种编程语言、功能丰富、简单、主从复制、高可用、分布式等特性,广泛用于缓存系统、排行版、计数器、社交网络、消息队列系统、实时系统、持久化数据等场景。

Redis 数据类型

Redis 是速度非常快的非关系型(NoSQL)内存键值数据库,可以存储键和五种不同类型的值之间的映射。
键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、有序集合、散列表。
如下图所示,左边的KEY只能是字符串类型,右边的VALUE分为5种类型。
Redis 数据类型和应用场景
5中数据类型的比较如下:
Redis 数据类型和应用场景

STRING

Redis 数据类型和应用场景
常用语法


1
2
3
4
5
6
7
8
9
10
1> set hello world
2OK
3> get hello
4"world"
5> del hello
6(integer) 1
7> get hello
8(nil)
9
10

应用场景:缓存、分布式锁、计算器

LIST

Redis 数据类型和应用场景
常用语法


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1> rpush list-key item 添加
2(integer) 1
3> rpush list-key item2
4(integer) 2
5> rpush list-key item
6(integer) 3
7
8> lrange list-key 0 -1 查看链表中所有值
91) "item"
102) "item2"
113) "item"
12
13> lindex list-key 1 查看链表索引1的值
14"item2"
15
16> lpop list-key 删除链表头的值
17"item"
18
19> lrange list-key 0 -1
201) "item2"
212) "item"
22
23

SET

Redis 数据类型和应用场景
常用语法


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1> sadd set-key item 添加
2(integer) 1
3> sadd set-key item2
4(integer) 1
5> sadd set-key item3
6(integer) 1
7> sadd set-key item
8(integer) 0
9
10> smembers set-key 查看set所有值
111) "item"
122) "item2"
133) "item3"
14
15> sismember set-key item4 查看set中是否有某个值
16(integer) 0
17> sismember set-key item
18(integer) 1
19
20> srem set-key item2 删除某值
21(integer) 1
22> srem set-key item2
23(integer) 0
24
25> smembers set-key
261) "item"
272) "item3"
28
29

HASH

Redis 数据类型和应用场景
常用语法


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
1> hset hash-key sub-key1 value1 添加
2(integer) 1
3> hset hash-key sub-key2 value2
4(integer) 1
5> hset hash-key sub-key1 value1
6(integer) 0
7
8> hgetall hash-key 查看所有值
91) "sub-key1"
102) "value1"
113) "sub-key2"
124) "value2"
13
14> hdel hash-key sub-key2 删除
15(integer) 1
16> hdel hash-key sub-key2
17(integer) 0
18
19> hget hash-key sub-key1 获取
20"value1"
21
22> hgetall hash-key
231) "sub-key1"
242) "value1"
25
26

ZSET

Redis 数据类型和应用场景
常用语法


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
1> zadd zset-key 728 member1 添加
2(integer) 1
3> zadd zset-key 982 member0
4(integer) 1
5> zadd zset-key 982 member0
6(integer) 0
7
8> zrange zset-key 0 -1 withscores 查看所有域和值
91) "member1"
102) "728"
113) "member0"
124) "982"
13
14> zrangebyscore zset-key 0 800 withscores
151) "member1"
162) "728"
17
18> zrem zset-key member1 删除
19(integer) 1
20> zrem zset-key member1
21(integer) 0
22
23> zrange zset-key 0 -1 withscores
241) "member0"
252) "982"
26
27

给TA打赏
共{{data.count}}人
人已打赏
安全运维

OpenSSH-8.7p1离线升级修复安全漏洞

2021-10-23 10:13:25

安全运维

设计模式的设计原则

2021-12-12 17:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索