SAE Python MemCache使用示例

Memcache是SAE为开发者提供的分布式内存缓存服务,用来以共享的方式缓存用户的小数据。

Memcache主要的使用场景有以下两个:

  • 需要共享某些 key-value 形式的小数据时。(因为SAE的Web服务是分布式环境,所以使用全局变量方式等方式是不行的)。
  • 缓存MySQL等后端存储的数据。快速进行数据响应,减轻后端存储的压力。

用户需要先在在线管理平台创建Memcache,然后才可以通过API读写Memcache。

SAE Python本地开发环境提供了对SAE memcached服务的模拟,在本地开发时可以使用该模块模拟线上memcache服务的一些行为。使用下面的方法对线上和本地开发环境加以区分。

import os

#获取MemCache客户端
def getClient():
	if 'SERVER_SOFTWARE' not in os.environ: #本地调试环境
		import memcache
		mc = memcache.Client(['127.0.0.1:11211 ...

继续阅读

使用Python xlwt写excel文件

如果需要使用Python写Excel文件,首先下载或者安装xlwt。

pip install xlwt

下面的这些demo应该可以帮助开发者快速上手使用xlwt写Excel文件:

创建工作簿(workbook)和工作表(sheet):

import xlwt
workbook = xlwt.Workbook() 
sheet = workbook.add_sheet("Sheet Name") 

写单元格(cell):

sheet.write(0, 0, 'foobar') # row, column, value

对单元格应用样式(加粗为例):

style = xlwt.easyxf('font: bold 1')
sheet.write ...

继续阅读

[Leetcode]Max Points on a Line

题目描述

Given n points on a 2D plane, find the maximum number of points that lie on the same straight line.

题目大意

平面上有n个点,找出共线的点的最大个数

解题思路

很容易想到O(n^3)的解法,通过起点i,终点j枚举直线,然后枚举中间点k,依次判断k与i,j是否共线,统计最大值。

实际上,采用此题可以采用O(n^2 * log ...

继续阅读

[Leetcode]Evaluate Reverse Polish Notation

题目描述

Evaluate the value of an arithmetic expression in Reverse Polish Notation.

Valid operators are +, -, *, /. Each operand may be an integer or another expression.

Some examples:
  ["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9
  ["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6 ...

继续阅读

年度归档