Redis订阅和发布模式和Redis事务

------------------- Redis订阅和发布模式-------------------
1,概念
    Redis发布订阅发布/订阅)是一种消息通信模式:
    发送者(酒馆)发送消息,
    订阅者(子)接收消息。
    Redis的客户端可以订阅任意数量的频道。

2,订阅频道:订阅个指定频道的信息

3,发布频道消息:将信息消息发送到指定的频道频道

4,应用场景
    1,今日头条订阅号,微信订阅公众号,新浪微博关注,邮件订阅系统
    2,即使通信系统
    3中,群聊部落系统(微信群)

5,测试实践:微信班级群class:20170101
    1,学生C
        订阅 一个主题叫:class:20170101 > subscribe class:20170101
    2,学生A针对class:20170101主体发送消息,那么所有订阅该主题的用户都能够接收到该数据。
        >出版类:20170101! “世界你好我是”
    3,学生乙针对等级:20170101主体发送消息,那么所有订阅该主题的用户都能够接收到该数据
        >出版类:20170101“你好我是B“
    展示学生C接受到的A \ B同学发送过来的消息信息
        1)”subscribe“
        2)”class:20170101“
        3)(integer)1
        1)”message“
        2)”class:20170101 “
        3)”hello world!I am a“
        1)”message“
        2)”class:20170101“
        3)”hello word!I am B“

------------------- Redis事务-------------------
1,概念:
    redis中的事务是一组命令的集合。事务同命令一样都是Redis的的最小执行单位,一个事务中的命令要么都执行,要么都不执行。

2,事务的两种属性
    1,事务是一个单独的隔离操作:事务中的所有命令都会序列化,按顺序的执行事务在执行的过程中,不会被其他客户端发送过来的命令请求所打断
    。2,redis事务是原子。原子意味着要什么所有的命令都执行,要么都不执行。

3,事务从开始到执行经历的三个阶段
    1,开始事务:多
    >多 - 确定

    2,命令入队
    > set“strOne”“hello”
    >设置“strTwo”“world”
    >设置“strThree”“!”

    3,执行事务:exec
    > exec

4,事务执行是常见错误:
    1,语法错误:语法错误指令不存在或命令参数的个数不对
    。2,运行错误:运行错误指令执行时出现的错误,比如使用散列类型的命令操作集合类型的键,这种错误在实际执行之前的Redis是无法发现的,所以在事务里这样的命令是会被Redis的接受并执行的。如果事务里的一条命令出现了运行错误,事务里其他的命令依然会继续执行
        > multi
        > set key 1
        > sadd key 2
        > set key 3
        > exec
            1)OK
            2)(错误)WRONGTYPE针对保存错误类型值的键的操作
            3)OK
        > get key --- “3”

5,观看命令:可以监控一个或多个键,一旦其中一个键被修改(或删除),之后的事务就不会执行监控一直持续到EXEC命令(事务中的命令是在EXEC之后才执行的,所以在多命令后可以修改watch监控的键值)
    > set key 1 --- OK
    > watch key --- OK
    > set key 2 --- OK
    > multi --- OK
    > set key 3 --- QUEUED
    > exec ---(nil)
    >获得密钥---“2”

    def incr($ key):
        watch $ key
        $ value = GET $ key
        如果不是$ value:
            $ value = 0
        $ value = $ value + 1
    MULTI
    SET $ key,$ value
        resule = EXEC
    return resule [0]

猜你喜欢

转载自blog.csdn.net/qq_40208605/article/details/80839270