最近在做游戏服务分层的时候,一直想把mysql的访问独立成一个单独的服务DBGate,原因如下:请求收拢到DBGate,可以使DBGate变为无状态的,方便横向扩展当请求量或者存储量变大时,mysql需要做分库分表,DBGate可以内部直接处理,外界无感知通过restful限制对数据请求的形式,仅支持简单的get/post/patch/put进行增删改查,并不支持复杂查询。这个也是和游戏业务的特性有关,如果网站等需要复杂查询的业务,对此并不适合DBGate
系统 2019-09-27 17:52:45 2069
一、问题引出浅拷贝首先看下面代码的执行情况:a=[1,2,3]print('a=%s'%a)#a=[1,2,3]b=aprint('b=%s'%b)#b=[1,2,3]a.append(4)#对a进行修改print('a=%s'%a)#a=[1,2,3,4]print('b=%s'%b)#b=[1,2,3,4]b.append(5)#对b进行修改print('a=%s'%a)#a=[1,2,3,4,5]print('b=%s'%b)#b=[1,2,3,4,
系统 2019-09-27 17:52:42 2069
python的dict用起来很方便,可以自定义key值,并通过下标访问,示例如下:复制代码代码如下:>>>d={'key1':'value1',...'key2':'value2',...'key3':'value3'}>>>printd['key2']value2>>>lambda表达式也是很实用的东东,示例如下:复制代码代码如下:>>>f=lambdax:x**2>>>printf(2)4>>>两者结合可以实现结构相似的函数调用,使用起来很方便,示例如
系统 2019-09-27 17:51:38 2069
简介这篇博文和分类看似没有多大关系,但是也是从上一篇衍生出来的产物,因为涉及到FQ工具Lantern,就算是给关注和支持的小伙伴们拓展一下眼界和知识面。而且好多人都阅读了上一篇没发现那个参考博客点不开吗?那是因为还没来的急,整理和编写,今天再试一下就可以。一个软件可能占用多个端口拥有多个目标IP,下面以FQ工具Lantern为例,说明端口查看方法:1.借助第三方软件查看如果你电脑上安装了360等优化工具,可能会自带查看网络状况的插件如下图:2.命令行窗口查
系统 2019-09-27 17:51:27 2069
三引号完全原样输出print(r"""xx\n\adaadf=?aa“”")重复输出print(3*“ab”)print(“ab”*3)abababababab3、列表定义x=“world”y=[1,2,3,4,5]索引(负数从右边开始,正数从左边开始)print(x[0])print(y[4])print(x[-2])print(y[-1])print(y[-5])print(x[-5])w5l51w切片x=“world”y=[1,2,3,4,5]pri
系统 2019-09-27 17:51:22 2069
漫谈如果作为一个Python入门,不了解Python装饰器也没什么,但是如果作为一个中级Python开发人员,如果再不对python装饰器熟稔于心的话,那么可能并没有量变积累到质变。我以前也看过很多讲python装饰器的文章,但是都是看了就忘。一方面是没有做太多的练习,二是对它的领会不是很深。希望引以为戒!!!郑传装饰模式如果你了解Java,你肯定听过装饰器模式。在面向对象中,装饰模式指:动态地给一个对象添加一些额外的职责。就增加一些功能来说,装饰模式比生
系统 2019-09-27 17:51:05 2069
原文链接:https://segmentfault.com/a/1190000016276635【时间】2019.09.06【题目】python实现客户端和服务器端传输数据转自:python实现客户端和服务器端传输数据服务器端:defsocket_service_data():try:s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.setsockopt(socket.SOL_SOCKET,socket
系统 2019-09-27 17:49:57 2069
记录三种添加cookie保持接口登录状态的方法,方便自己回顾。1.简单粗暴式。此方法比较小白,前提是已经通过fiddler抓包等方式拿到了cookie,然后直接塞进去。importrequeststrainsUrl='http://XXX.com/trains'headers={"Content-Type":"application/json;charset=UTF-8",}cookies={"XXXthor":"XXXXXX105a42"}prames=
系统 2019-09-27 17:49:54 2069
这里使用pipe代码如下:importtimefrommultiprocessingimportProcessimportmultiprocessingclassD:@staticmethoddeftest(pipe):whileTrue:foriinrange(10):pipe.send(i)time.sleep(2)@staticmethoddeftest2(pipe):whileTrue:print('test2value:%s'%pipe.recv
系统 2019-09-27 17:49:29 2069
Pythonpass语句使用当语句要求不希望任何命令或代码来执行。pass语句是一个空(null)操作;在执行时没有任何反应。pass也是代码最终会是有用的,但暂时不用写出来(例如,在存根为例):语法Pythonpass语句语法如下:pass例子#!/usr/bin/pythonforletterin'Python':ifletter=='h':passprint'Thisispassblock'print'CurrentLetter:',letterpr
系统 2019-09-27 17:47:44 2069