ctime

ctime functions in C returns same string for differing values of atime, mtime, and ctime?

痞子三分冷 提交于 2020-12-15 05:45:27
问题 When using the stat() function in minGW-W64, and the struct it returns, here info , why does ctime return the same exact strings for info.st_atime , mtime , and ctime , even though the their integer values are different? If localtime is used to get each time component separately, the results differ and appear accurate; that is, they match the dates in the file folders I've observed. ctime(&info.st_atime ) versus localtime(&info.st_atime )->tm_wday, localtime(&info.st_atime )->tm_mon,

ctime returning null

早过忘川 提交于 2020-06-17 03:47:28
问题 If the user type time_t is defined as __darwin_time_t , which itself is defined as long in MacOS X, why does the following code outputs 8 Time is (null) ? Maybe it's something silly, but I can't really understand it. #include <stdio.h> #include <time.h> int main(void) { time_t time = 0x7FFFFFFFFFFFFFFF; printf("%lu\n" "Time is %s\n", sizeof(time_t), ctime(&time)); return 0; } 回答1: Time 0x7FFFFFFFFFFFFFFF appears to be around the year 292,471,210,647 AD, which undoubtedly causes ctime to

memcached

拥有回忆 提交于 2020-04-06 19:43:08
1.缓存的简介 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力. 缓存是将一些常用的数据保存内存或者memcache中,在一定的时间内有人来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接从内存或memcache的缓存中去取得数据,然后返回给用户. 2.Django提供了6种缓存方式 开发调试缓存 内存缓存 文件缓存 数据库缓存 Memcache缓存(使用python-memcached模块) Memcache缓存(使用pylibmc模块) 经常使用的有文件缓存和Mencache缓存 2.1 各种缓存方式的配置文件说明 2.1.1 开发调试(此模式为开发调试使用,实际上不执行任何操作) settings.py文件配置 ? 1 2 3 4 5 6 7 8 9 10 CACHES = { 'default' : { 'BACKEND' : 'django.core.cache.backends.dummy.DummyCache' , # 缓存后台使用的引擎 'TIMEOUT' : 300 , # 缓存超时时间(默认300秒,None表示永不过期,0表示立即过期) 'OPTIONS'

python 进程线程简单理解

戏子无情 提交于 2020-03-28 07:44:13
简单的理解 1、线程:最小的执行单元;进程:最小的资源单元 2、一个程序至少有一个进程,一个进程至少有一个线程(线程可以理解为线程的容器) 3、进程在执行过程中拥有独立的内存单元,而多个线程共享内存 4、每一个独立的线程都有 程序的入口,顺序执行的序列和程序出口 ,但是线程不能独立执行,必须由应用程序提供多个线程执行控制 5、进程是系统进行资源分配和调度的一个独立单元 多线程的代码开启 import threading import time def sing(): print("begin to sing %s" % time.ctime()) time.sleep(3) print("stop to sing %s" % time.ctime()) def jump(): print("begin to jump %s" % time.ctime()) time.sleep(5) print("stop to jump %s" % time.ctime()) def rap(): print("begin to rap %s" % time.ctime()) time.sleep(7) print("stop to rap %s" % time.ctime()) def play_basketball(): print("begin to play_basketball %s"

atime ctime mtime的影响

本秂侑毒 提交于 2020-03-19 17:28:43
在linux系统中,文件是时间戳属性有三个 Access Modify Change 这三个可以通过 stat 命令来查看 相应的,find命令中有三个参数atime mtime ctime分别呢对应着Access、Modify、Change 配合着相应的参数,可以用来查找相应时间范围内的文件,按照文档解释 简名 全名 中文名 含义 atime access time 访问时间 文件中的数据库最后被访问的时间 mtime modify time 修改时间 文件内容被修改的最后时间 ctime change time 变化时间 文件的元数据发生变化。 什么样的操作会影响这三个时间,这个就是比较模糊的。为了搞清楚,先来做一些操作来验证一下。 创建一个文件 touch timestamp 然后来查看一下这个文件的三个时间戳 $ stat timestamp File: `timestamp' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fc01h/64513d Inode: 802838 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2019-05-18 16:50:53.000000000 +0800

Django进阶之缓存和信号

≡放荡痞女 提交于 2020-03-18 06:51:27
简介 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接从内存或者Redis中之前缓存的内容拿到,并返回。 Django提供了6种缓存方式: 1、 开发调试 2、 内存 3、 文件 4、 数据库 5、 Memcache缓存(python-memcached模块) 6、 Memcache缓存(pylibmc模块) 通用配置 'TIMEOUT': 300, # 缓存超时时间(默认300,None表示永不过期,0表示立即过期) 'OPTIONS':{ 'MAX_ENTRIES': 300, # 最大缓存个数(默认300) 'CULL_FREQUENCY': 3, # 缓存到达最大个数之后,剔除缓存个数的比例,即:1/CULL_FREQUENCY(默认3) }, 'KEY_PREFIX': '', # 缓存key的前缀(默认空) 'VERSION': 1, # 缓存key的版本(默认1) 'KEY_FUNCTION' 函数名 # 生成key的函数(默认函数会生成为:【前缀:版本:key】) 这部分是通用的配置,在上面6种方法中都可以使用 开发调试 # 此为开始调试用

Linux(CentOS)文件操作命令

北城余情 提交于 2020-02-26 02:49:51
touch命令     — 功能说明:生成新的空文件或更改现有文件的时间戳。     — 命令格式:touch [参数] <文件> …     — 常用参数:       -a : 只更改访问时间。       -m : 只更改修改时间。       -t <STAMP> : 使用[[CC]YY]MMDDhhmm[.ss]格式的时间而非当前时间。       -r <参考文件或目录> : 使用指定文件的时间属性而非当前时间。     — 使用示例:       touch newfile       touch file       touch -a file       touch -m file       touch -t 200701311200 file     — GNU/Linux的文件有3种类型的时间戳:       mtime: 最后修改时间(ls –lt)       ctime: 状态改变时间(ls –lc)       atime: 最后访问时间(ls –lu)     注意:       1.ctime并非文件创建时间。       2.覆盖一个文件会改变所有三类时间:mtime、ctime和atime。       3.改变文件的访问权限或拥有者会改变文件的ctime和atime。       4.读文件会改变文件的atime。   cp命令     —

模块

核能气质少年 提交于 2020-02-18 23:37:05
常用模块: 1 collections模块: 这个模块涉及到python的一些数据类型,常见的数据类型有如字符串,整数,列表,元祖,字典等‘’ 队列: 先进先出 堆栈:先进后出 队列的设定 import queue :队列 队列不能插队 q = queue.Queue(): 创建一个对列 方法: q.put(5) 放值 q.get () 取值 -----当没值返回时会阻塞 q.size() 判断大小,判断里面是否还有值 collections 模块相关的方法   1 namedtuple 可命名元祖 用来表示坐标 例如,一个点的二维坐标就可以表示成: from collections import namedtuple pot = namedtuple('point',['x','y']) p = pot(1,2) print(p.x) print(p.y) print(p)可用在,坐标,花色牌等   2 deque 双端队列:可以从两头存取数字,也可以按索引插入数据 双端队列: 只能从两端取值, from collections import deque 方法: deque.append : 从后面放数据 deque.appendleft :从前面放数据 deque.pop() : 从后面取数据 deque.popleft() :从前面取数据 deque.insert()

频率(限流)

本秂侑毒 提交于 2020-02-17 23:19:28
问题: 控制访问频率,在访问的时候加上一定的次数限制 基本实现 views.py class VisitThrottle(object): def allow_request(self, request, view): return True # 可以继续访问 # return False # 访问频率太高, 被限制 def wait(self): pass 可以进一步的升级,限制 10s 内只能访问3次 import time VISIT_RECORD = {} class VisitThrottle(object): ''' 10s内只能访问3次 ''' def allow_request(self, request, view): # 1. 获取用户IP remote_addr = request.META.get('REMOTE_ADDR') ctime = time.time() if remote_addr not in VISIT_RECORD: VISIT_RECORD[remote_addr] = [ctime, ] return True history = VISIT_RECORD.get(remote_addr) while history and history[-1] < ctime - 10: history.pop() if len(history)

Linux系统下用find命令查找最近修改过的文件

南楼画角 提交于 2020-02-08 20:07:50
Linux的终端上,没有windows的搜索那样好用的图形界面工具,但find命令确是很强大的。 比如按名字查找一个文件,可以用 find / -name targetfilename 。 唉,如果只知道名字,不知道地点,这样也不失为一个野蛮有效的方法。 按时间查找也有参数 -atime 访问时间 -ctime 改变状态的时间 -mtime修改的时间。但要注意,这里的时间是以24小时为单位的。 查看man手册后使用,你会很迷惑: -mtime n: Files data was last modified n*24 hours ago. 字面上的理解是最后一次修改发生在n个24小时以前的文件,但实际上 find ./ -mtime 0:返回最近24小时内修改过的文件。 find ./ -mtime 1 : 返回的是前48~24小时修改过的文件。而不是48小时以内修改过的文件。 那怎么返回10天内修改过的文件?find还可以支持表达式关系运算,所以可以把最近几天的数据一天天的加起来: find ./ -mtime 0 -o -mtime 1 -o -mtime 2 ……虽然比较土,但也算是个方法了。 还有没有更好的方法,我也想知道。 另外, -mmin参数-cmin / - amin也是类似的。 Find应用实例 查找最近30分钟修改的当前目录下的.php文件 find .