美文网首页
redis的高级特性

redis的高级特性

作者: 剑道_7ffc | 来源:发表于2020-07-23 10:41 被阅读0次

发布订阅

特点

可以使用发布订阅来实现消息队列,但因为发出的消息不会被持久化,所以消费者只能收到从它开始订阅这个频道发之后发布的消息。

命令

支持订阅一个或多个具体的频道,也支持正则表达式订阅频道。具体命令请参考
http://www.redis.cn/commands.html#pubsub

redis事务

特点

执行命令的顺序按照进入队列的顺序执行。

命令

multi:开始事务,类似于sql的begin
exec:执行事务,类似于sql的commit
discard:取消事务,类似于sql的rollback
watch:监视,类似于sql的版本号更新,当监视的key在exec执行之前发生修改,则执行事务会失败。

错误

1 若先执行一个错误命令,在执行exec,则整个事务拒绝执行即所有的命令都不会执行。
2 若执行exec后出现错误,则该错误命令会被跳过,继续执行其他命令。

Lua脚本

作用

类似于sql的函数,redis将整个脚本作为一个整体执行,保证其原子性。

缓存Lua脚本

先利用script load命令将函数生成摘要,服务端可以通过该摘要获取对应的函数,从而减少了客户端和服务端之前的网络传输消耗。

命令

具体命令请参考:http://www.redis.cn/commands.html#scripting

脚本超时

因为redis是单线程的,当这个线程因为执行脚本超时或者陷入死循环,redis是如何解决的?
1 redis提供lua脚本的超时时间,若超过这个时间,redis可以接受命令但不执行命令,以确保脚本的原子性。
2 若lua脚本没有对redis数据的修改操作,可以通过script kill来终止脚本的执行;反之,若只能通过shutdown nosave来终止脚本的执行。

相关文章

  • Redis基础、高级特性与性能调优

    非我原创, 转载自:Redis基础、高级特性与性能调优本文将从Redis的基本特性入手,通过讲述Redis的数据结...

  • 【SpringBoot DB 系列】Redis 高级特性之 Hy

    【SpringBoot DB 系列】Redis 高级特性之 HyperLoglog hyperloglog 算法,...

  • Redis高级特性

    本文涉及到的命令和数据类型请参见: Redis数据类型和基本操作 命令 keys * (可模糊匹配) exists...

  • Redis高级特性

    1. 发布订阅模型 Redis 的 SUBSCRIBE 命令可以让客户端订阅任意数量的频道, 每当有新信息发送到被...

  • redis的高级特性

    redis 高级特性 keys * 返回满足的所有键(可以模糊匹配) exists 是否存在指定的key expi...

  • redis的高级特性

    发布订阅 特点 可以使用发布订阅来实现消息队列,但因为发出的消息不会被持久化,所以消费者只能收到从它开始订阅这个频...

  • 好的文章

    Redis基础、高级特性与性能调优Redis 5种数据结构使用及注意事项

  • Redis 高级实用特性

    安全性 设置客户端连接后进行任何其他指令前需要使用的密码。 警告:因为redis 速度相当快,所以在一台比较好的服...

  • Redis高级特性——事务

    事务 事务在业务开发过程中是比较重要的一环,小到任务执行,更新状态;大到购物支付及定单发货流程、转换流程等,都需要...

  • Redis高级特性——排序

    排序 对于排序的场景,在业务中会大量使用到,对于Redis,如果使用了有序集合,那么排序问题很容易解决,并且得分可...

网友评论

      本文标题:redis的高级特性

      本文链接:https://www.haomeiwen.com/subject/dmlclktx.html