redis学习(01):连接redis server
连接redis服务器,示例1
import redis RedisUrl = "127.0.0.1" RedisDb = 0 RedisPort = "6379" # 需要注意, 该值为线程数目, 实际情况应该是多进程, 所以总workers应该为 MAX_WORKERS * 进程数 MAX_WORKERS = 4 connection_kwargs = { "host": RedisUrl, "port": RedisPort, "db": RedisDb, "max_connections": MAX_WORKERS } # 使用连接池 pool = redis.ConnectionPool(**connection_kwargs) rs_client = redis.Redis(connection_pool=pool) # 使用管道,一次执行多条命令 rs_pp = rs_client.pipeline(transaction=True) # 订阅者/发布者模式 # 发布者 rs_client.publish(u"频道", "msg") # 订阅者 pub = rs_client.pubsub() pub.subscribe(u"频道") pub.parse_response()
连接redis服务器,示例2
class Connect_Reids: def __init__(self,nodes=[{"host":"127.0.0.1","port":6379}],password=None,db=None): """redis连接初始化配置: nodes = [{'host':'10.20.18.xxx','port':6380}, {'host':'10.20.xxx.xxx','port':6381}, {'host':'10.20.xxx.xxx','port':6382}, {'host':'10.20.xxx.xxx','port':6383}, {'host':'10.20.xxx.xxx','port':6384}, {'host':'10.20.xxx.xxx','port':6385} ] """ self.redis_nodes = nodes self.redis_password = password self.db = db def redis_cluster(self): """reids 集群连接""" try: redis_conn = StrictRedisCluster(startup_nodes=self.redis_nodes,password=self.redis_password) except Exception as e: print("Connect Reids_Cluster Error!") print(str(e)) sys.exit(1) return redis_conn def redis_single(self,redis_node): """redis 单点连接""" try: redis_conn = redis.Redis(host=redis_node["host"], port=redis_node["port"], \ db=redis_node["db"], password=redis_node["password"]) except Exception as e: print("Connect Reids_Single Error") print(str(e)) sys.exit(1) return redis_conn def connect_redis(self): """根据配置连接redis单点/reids集群""" if len(self.redis_nodes) == 1: return self.redis_single(self.redis_nodes[0]) else: return self.redis_cluster()
posted on 2018-08-18 10:23 myworldworld 阅读(1046) 评论(0) 收藏 举报
浙公网安备 33010602011771号