美文网首页
Redis集群与交互以及事务和订阅发布

Redis集群与交互以及事务和订阅发布

作者: 糖炒栗子_01c5 | 来源:发表于2018-08-30 23:15 被阅读0次

    redis集群

    为什么搭建集群?

    1.为了突破内存存储限制

    2.可以实现实时备份(同步各节点的数据)

    3.当有高并发操作的时候,我们可以让多个主节点执行,减轻服务器压力

    4.可以提升存储、查询、修改等操作的效率。

    5.可以实现读写分离

    6.当一个主节点宕机时,从节点可以变为主节点,但是如果多数节点发生宕机现象,集群就不可用了

    7.数据透明

    缺点:

    不能保证一致性

    如何搭建集群?

    1.是首先修改个服务器的redis.conf的配置文件

        port 7000

        bind 端口号

        cluster-enabled yes

        cluster-config-file nodes.conf

        cluster-node-timeout 5000

        appendonly yes

        daemonize yes 进程守护 默认是no

        文件中的 cluster-enabled 选项用于开实例的集群模式, 而 cluster-conf-file 选项则设定了保存节点配置文件的路径, 默认值为 nodes.conf.节点配置文件无须人为修改, 它由 Redis 集群在启动时创建, 并在有需要时自动进行更新。

    2.修改完毕,启动各节点的redis服务

    3.可以再任意服务端创建集群(redis-tirb-rb)

        1.安装依赖:sudo apt-get install ruby

          查看ruby版本,显示说明安装成功:ruby -v

        2.sudo gem install redis

        3.创建集群:

          ./redis-trib.rb create --replicas 1 ip:端口 ip:端口 ip:端口 ....

        4.打印出节点的分配信息(那些为主节点,那些为从节点)

    4.开启客户端验证:

    可以链接任意主节点的redis的客户端:

    redis-cli -c -h 主节点ip -p 主节点端口

    交互

    首先和其他数据库的交互都是一样的:

    导入redis包

    然后创建链接:

    redis_coon = redis.StrictRedis(host='192.168.43.40',port=6379,db=2)

    redis_coon = redis.Redis(host='localhost',port=6379)

    其中几个参数的意义:

    host='localhost',ip

    port=6379  端口

    db=0,指定数据库

    password=None, 密码

    之后就可以像之前一样操作了

    例:redis_coon.set('class1804',28)

    交互事务

    依然使用之前链接的数据库

    首先返回一个管道对象

     pipe = redis_coon.pipeline()

    然后开启事务

    pipe.multi()

    存值

    pipe.set('age',10)

     pipe.lpush('list',(1,2,3,4,5,6,7,8))

     pipe.hset('students','name','xxx')

    time.sleep(5)

    最后进行提交

    pipe.execute()

    订阅

    返回一个发布/订阅对象。这个对象,你可以订阅发布通道和侦听消息。

    pubsub = redis_coon.pubsub()

    订阅频道

    pubsub.subscribe('1804')

    返回的消息类型如下[b'subscribe', b'1804', 1],表示订阅成功

    print(pubsub.parse_response())

    发布

    发布频道消息

     redis_coon.publish('1804','有吗?')

    相关文章

      网友评论

          本文标题:Redis集群与交互以及事务和订阅发布

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