Redis高级特性上

Redis 发布订阅和事务




一、发布订阅模式

基本命令:

订阅频道: 可以一次订阅多个
subscribe channel-1 channel-2 channel-3
向指定频道发布消息:
publish channel-1 2673
取消订阅:
unsubscribe channel-1

按规则订阅频道:

消费端1, 关注运动信息:
psubscribe *sport
消费端2, 关注所有新闻:
psubscribe news*
消费端3, 关注天气新闻:
psubscribe news-weather

二、Redis事务

1. 事务特性

1、 按进入队列的顺序执行
2、 不会受到其他客户端的请求的影响
3、 事务不能嵌套, 多个multi命令效果一样

2. 事务命令

multi: 开启事务
exec: 执行事务
discard: 取消事务
watch: 监视key

三、Lua脚本

1. 优点

1、 批量执行命令
2、 原子性
3、 操作集合的复用

2. 命令使用

Redis中执行Lua脚本

redis> eval lua-script key-num [key1 key2 key3 ....] [value1 value2
value3 ....]

 - eval代表执行Lua语言的命令
 - lua-script代表Lua语言脚本内容
 - key-num表示参数中有多少个key, 需要注意的是Redis中key是从1开始的,
如果没有key的参数, 那么写0
 - [key1 key2 key3…]是key作为参数传递给Lua语言, 也可以不填, 但是需要
和key-num的个数对应起来
 - [value1 value2 value3 ….]这些参数传递给Lua语言

在Lua脚本中执行Redis命令

redis.call(command, key [param1,param2…])
 - command是命令, 包括set、 get、 del等
 - key是被操作的键
 - param1,param2…代表给key的参数

Lua脚本文件

编写操作Redis命令:
redis.call(command, key [param1,param2…])
调用lua脚本:
redis-cli --eval 脚本名称 参数个数 参数1 参数2

缓存Lua脚本

script load 脚本内容
evalsha "摘要值" 参数个数 参数1 参数2……

脚本超时

script kill
shutdown nosave
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值