zoukankan      html  css  js  c++  java
  • Python学习19

    redis数据库相关操作(redis数据库的搭建)

    1、redis数据库的搭建

    1、建立redis数据库环境:

      • 在cmd中输入:pip install redis 安装redis包
      • 然后找到redis的解压包中的redis-server.exe并打开不要关闭:
        在这里插入图片描述
        在这里插入图片描述
      • 安装redisdesktopmanager,打开该软件:
        在这里插入图片描述
      • 最后可根据connect to redis server来连接数据库
      • 2、python连接redis数据库

        #!/usr/bin/env python
        # -*- coding:utf-8 -*-
        import redis
        
        r = redis.Redis(host='192.168.0.110', port=6379,db=0)
        r.set('name', 'zhangsan')   #添加
        print (r.get('name'))   #获取
      • 3、连接池
        redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销

        #!/usr/bin/env python
        # -*- coding:utf-8 -*-
        import redis
        
        pool = redis.ConnectionPool(host='192.168.0.110', port=6379)
        r = redis.Redis(connection_pool=pool)
        r.set('name', 'zhangsan')   #添加
        print (r.get('name'))   #获取
      • 4、管道

        • redis-py默认在执行每次请求都会创建(连接池申请连接)和断开(归还连接池)一次连接操作,如果想要在一次请求中指定多个命令,则可以使用pipline实现一次请求指定多个命令,并且默认情况下一次pipline是原子性操作
        #!/usr/bin/env python
        # -*- coding:utf-8 -*-
        import redis
        pool = redis.ConnectionPool(host='192.168.0.110', port=6379)
        r = redis.Redis(connection_pool=pool)
        pipe = r.pipeline(transaction=True)
        r.set('name', 'zhangsan')
        r.set('name', 'lisi')
        pipe.execute()
      • 5、发布和阅读

        • 首先定义一个RedisHelper类,连接Redis,定义频道为monitor,定义发布(publish)及订阅(subscribe)方法
        #!/usr/bin/env python
        #-*- coding:utf-8 -*-
        import redis
        class RedisHelper(object):
            def __init__(self):
                self.__conn = redis.Redis(host='192.168.0.110',port=6379)#连接Redis
                self.channel = 'monitor' #定义名称
           
           def publish(self,msg):#定义发布方法
                self.__conn.publish(self.channel,msg)
                return True
           
           def subscribe(self):#定义订阅方法
                pub = self.__conn.pubsub()
                pub.subscribe(self.channel)
                pub.parse_response()
                return pub
        • 发布者
        #!/usr/bin/env python
        # -*- coding:utf-8 -*-
        #发布
        from RedisHelper import RedisHelper
        
        obj = RedisHelper()
        obj.publish('hello')#发布
        • 订阅者
        #!/usr/bin/env python
        # -*- coding:utf-8 -*-
        #订阅
        from RedisHelper import RedisHelper
        
        obj = RedisHelper()
        redis_sub = obj.subscribe()#调用订阅方法
        
        while True:
            msg= redis_sub.parse_response()
            print (msg)
  • 相关阅读:
    github添加版本号
    centOS 7联网
    运用session来控制用户的异地登录被挤下线情况
    寻找节点d=n的节点算法
    基于Seajs的可控台球碰撞游戏
    RequireJs 源码解读及思考
    BackBone 源码解读及思考
    关于「远程兼职」
    cocos2d-html5 中的性能优化
    细说移动前端Android联调
  • 原文地址:https://www.cnblogs.com/tangmf/p/14216810.html
Copyright © 2011-2022 走看看