redis快速入门

redis是一个速度极快的NOSQL数据库,数据存在内存中没有磁盘的io它是io多路复用的,由C语言编写,只存K:V形式的数据,有五种数据类型

  • String:字符串k:v
  • Hash: key: k1:v1 k2:v2…
  • List: key: 0 1 2 3…
  • Set: key: v1 v2 v3
  • zSet:有序的set集合

Tip:看视频学习的笔记
大佬视频地址:https://www.bilibili.com/video/av67317363

安装redis:https://docs.microsoft.com/zh-cn/windows/wsl/install-win10?redirectedfrom=MSDN

打开redis-server.exe启动redis服务在6379端口

打开客户端redis-cli.exe

String:

设置一个string键值对,key为"k1"

127.0.0.1:6379> set k1 hzy 
OK

获取

127.0.0.1:6379> get k1 "hzy"

设值

127.0.0.1:6379> set k1 edc
OK

删除

127.0.0.1:6379> del k1 
(integer) 1

批量设置

127.0.0.1:6379> mset k1 edc k2 hzy 
OK

批量获取

127.0.0.1:6379> mget k1 k2 
1) "edc" 
2) "hzy"

Hash:

设置一个哈希key为"h1"其中有一个键值对name : liming

127.0.0.1:6379> hset h1 name liming 
(integer) 1

取值

127.0.0.1:6379> hget h1 
name "liming"

设值

127.0.0.1:6379> hset h1 name li 
(integer) 0

批量设置

127.0.0.1:6379> hmset h1 name li age 11 
OK

获取所有键值对

127.0.0.1:6379> hgetall h1 
1) "name" 
2) "li" 
3) "age" 
4) "11"

删除

127.0.0.1:6379> hdel h1 age 
(integer) 1

List:

设置一个list

127.0.0.1:6379> lpush L1 v1 
(integer) 1

下标范围取值

127.0.0.1:6379> lrange L1 0 0 
1) "v1"

添加元素 lpush(左push)

127.0.0.1:6379> lpush L1 v2 v3 
(integer) 3 
127.0.0.1:6379> lrange L1 0 2 
1) "v3" 
2) "v2" 
3) "v1"

右push

127.0.0.1:6379> rpush L1 r1 r2 r3 
(integer) 6 
127.0.0.1:6379> lrange L1 0 5 
1) "v3" 
2) "v2" 
3) "v1" 
4) "r1" 
5) "r2"
6) "r3"

获取第一个到最后一个元素

127.0.0.1:6379> lrange L1 0 -1 
1) "v3" 
2) "v2" 
3) "v1" 
4) "r1" 
5) "r2" 
6) "r3"

删除 左pop

127.0.0.1:6379> lpop L1 "v3"

删除 右pop

127.0.0.1:6379> rpop L1 "r3"

Set:

设置一个set集合

127.0.0.1:6379> sadd S1 v1 
(integer) 1

添加

127.0.0.1:6379> sadd S1 v2 
(integer) 1

获取

127.0.0.1:6379> smembers S1 
1) "v2" 
2) "v1"

添加重复值会失败

127.0.0.1:6379> sadd S1 v2 
(integer) 0

订阅和发布功能

打开两个客户端,在其中一个客户端执行订阅,并指定一个主题为"foo"

127.0.0.1:6379> SUBSCRIBE foo
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "foo"
3) (integer) 1

另一个客户端在foo发布一条消息"hahaha"
127.0.0.1:6379> PUBLISH foo hahaha
(integer) 1

可以看到订阅的那个客户端就打印了这样一条消息

127.0.0.1:6379> SUBSCRIBE foo
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "foo"
3) (integer) 1
1) "message"
2) "foo"
3) "hahaha"

这就是redis的发布订阅或者说是消息队列功能
它还支持根据通配符的订阅方式,PSUBSCRIBE
比如订阅 以a开头以b结尾 的主题

127.0.0.1:6379> PSUBSCRIBE a*b
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "a*b"
3) (integer) 1

这时候就可以发布 a一坨东西b 发布一个"haha"

127.0.0.1:6379> PUBLISH afewrupdb haha
(integer) 1

订阅的客户端也可以收到

127.0.0.1:6379> PSUBSCRIBE a*b
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "a*b"
3) (integer) 1
1) "pmessage"
2) "a*b"
3) "afewrupdb"
4) "haha"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值