• 理解 Redis(9)


    在窗口1开通一个名为 redis 的通道:

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

    从窗口2传入信息:

    127.0.0.1:6379> PUBLISH redis hi
    (integer) 1
    

    此时窗口1会收到这条信息:

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

    以上, 就是通过 SUBSCRIBE 和 PUBLISH 实现了一个简单的消息传递的过程. 目前我们是有一个窗口开通 redis 通道, 另一个窗口向这个通道传递消息, 大家可以试下再多开一个窗口, 也开通 redis 通道, 然后再向 redis 通道传递消息的时候, 会发现, 这两个通道会同时接收到这条消息.

    下面再另开也别窗口, 演示另外一个命令. 这里用命令 PSUBSCRIBE 开通一个通道, 通道名不是具体的, 而是有点像正则匹配, 即凡是向以字母 r 开头的通道发送消息, 这个通道都可以接收:

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

    这时, 在另外一个窗口执行:

    127.0.0.1:6379> PUBLISH rr "hi"
    (integer) 1
    

    这时, 在刚刚开通通道的窗口就可以接收到信息:

    127.0.0.1:6379> PSUBSCRIBE r*
    Reading messages... (press Ctrl-C to quit)
    1) "psubscribe"
    2) "r*"
    3) (integer) 1
    1) "pmessage"
    2) "r*"
    3) "rr"
    4) "hi"
    

    以上, 就是关于 SUBSCRIBE 和 PUBLISH 的基本原理.

    这是关于 redis 学习的最后一篇,  每个命令我都有自己实践, 虽然不能百分百记住, 但是对于五种数据类型, 有了非常清晰的了解, 希望也能对你有所帮助, enjoy~~~

  • 相关阅读:
    Codechef之2014FebChallenge
    Codechef之CodeCraft: IIIT Hyderabad
    原创水题
    用图论模型解决dp问题
    [某模拟赛]一道好题
    萌新java入门笔记
    CodeForces 761C 【DP】
    POJ3268【最短路】
    POJ3191【(-2)进制本质】
    POJ3264 【RMQ基础题—ST-线段树】
  • 原文地址:https://www.cnblogs.com/rachelross/p/10412110.html
Copyright © 2020-2023  润新知