Lua操作系统库、流、文件库】的更多相关文章

Lua操作系统库.流.文件库 1.Lua中所有的操作系统库函数 (1)os.clock() --功能:返回执行该程序cpu花费的时钟秒数 (2)os.time(...) --按参数的内容返回一个时间值,若不带参数则返回当前时间 (3)os.tmpname() --返回一个临时文件名 (4)os.getenv(varname) --返回当前进程的环境变量varname的值,若无变量则返回空 (5)os.remove(filename) 删除文件,或者一个空目录 (6)os.rename(oldna…
  转老帖子备份 转自:http://www.cnblogs.com/whiteyun/archive/2009/08/10/1542913.html os.clock () 功能:返回一个程序使用CPU时间的一个近似值 例如: local x = os.clock(); print(os.clock()) local s = 0; for i = 1, 100000000 do       s = s + i; end print(string.format("elapsed time : %…
一.简介 1)分布式限流 如果是单实例项目,我们使用Guava这样的轻便又高性能的堆缓存来处理限流.但是当项目发展为多实例了以后呢?这时候我们就需要采用分布式限流的方式,分布式限流可以以redis + lua 或者 nignx + lua这样的组合来实现.. 分布式限流一般应用场景都是在业务上进行限流,所以本文不涉及niginx + lua,简单介绍redis + lua分布式限流的实现.如果是需要在接入层限流的话,应该直接采用nginx自带的连接数限流模块和请求限流模块. 2)redis re…
==========================example for lua json======================= local cjson = require("cjson") local str = '["a", "b", "c"]' local j = cjson.decode(str) for i,v in ipairs(j) do print(v) end str = '{"A&quo…
1.常见的NSFileManager文件方法 -(NSData *)contentsAtPath:path //从一个文件读取数据 -(BOOL)createFileAtPath: path contents:(NSData *)data attributes:attr //向一个文件写入数据 -(BOOL)removeItemAtPath:path error:err //删除一个文件 -(BOOL)moveItemAtPath:from toPath:to error:err //重命名或者…
在java程序中,对于数据的输入/输出操作以“流”(stream)方式进行…
整理了一些Java方面的架构.面试资料(微服务.集群.分布式.中间件等),有需要的小伙伴可以关注公众号[程序员内点事],无套路自行领取 一.什么是限流?为什么要限流? 不知道大家有没有做过帝都的地铁,就是进地铁站都要排队的那种,为什么要这样摆长龙转圈圈?答案就是为了限流!因为一趟地铁的运力是有限的,一下挤进去太多人会造成站台的拥挤.列车的超载,存在一定的安全隐患.同理,我们的程序也是一样,它处理请求的能力也是有限的,一旦请求多到超出它的处理极限就会崩溃.为了不出现最坏的崩溃情况,只能耽误一下大家…
time 和 date 两个函数在lua中实现所有的时钟查询功能. 函数time在没有参数时返回当前时钟的数值.(在许多操作系统中,该数值是距离某个特定时间的秒数). date是time的一种“反函数”,将数值转换为年月日时分秒 使用格式字符"*t",创建一个时间表. temp = os.date("*t", 906000490) 返回的结果为: {year=1998, month=9, day=16, yday=259,  wday=4, hour=23, min…
1.构造时间 2.时间制定格式输出 3.计时器(闭包)os.difftime (t2, t1) 返回以秒计算的时刻 t1 到 t2 的差值. (这里的时刻是由 os.time 返回的值). 在 POSIX,Windows,和其它一些系统中,这个值就等于 t2-t1. 4.执行 shell 命令 代码如下 --[[ 1.构造时间 2.时间制定格式输出 3.计时器(闭包) os.difftime (t2, t1) 返回以秒计算的时刻 t1 到 t2 的差值. (这里的时刻是由 os.time 返回的…
一.流操作概述 在默认情况下,当客户端调用服务时,服务只有在接收到完整的消息后才会被调用,同样,客户端只有在包含了调用结果的返回消息被完整接受时,才会解除对它的阻塞. 对于数据量小的消息,这种交换模式提供了简单的编程模型,因为接收消息的耗时较之处理消息本身而言是微不足道的.然而,一旦需要处理数据量较大的消息,如包含了多媒体内容.大文本或数据块的消息,如果每次都要等到完整接收消息之后才能解除阻塞,则未免不太现实. 为了解决这样的问题,WCF允许接收到(客户端或服务)在通过通道接收消息的同时,启动对…
前言 在游戏中,我们经常会遇到汉字的多行显示,比如名字竖行显示等.如下图: 为了实现上面的效果,lua实现分行是通过  \n  实现的,所以我们需要取出汉字,然后插入 \n 实现分行效果.还有一种就是设置Label的的实际大小,也可以实现分行效果. 操作中文字符串,获取字符串长度 local str = "哈哈哈哈" local _,strTest = string.gsub(str,'[\128-\255][\128-\255]',' ') local _, count = stri…
(1)lua 和 C++之间的交互的基本知识: lua 和 C++ 之间的数据交互通过堆栈进行,栈中的数据通过索引值进行定位,(栈就像是一个容器一样,放进去的东西都要有标号)其中栈顶是-1,栈底是1,也就是第 1 个入栈的在栈底:也可以这么说:正数表示相对于栈底的位置(位移),负数表示相对于栈顶的位置(位移):(2)计算和清空栈中元素的操作:1.函数lua_gettop()用于返回栈中元素的个数,同时也是栈顶元素的索引,因为栈底是1,所以栈中有多少个元素,栈顶索引就是多少:呵呵2.函数lua_s…
fopen 打开文件或者生成文件 getc 向文件中读取一个字符 putc 向文件中写入一个字符 fgets 向文件中读取字符串 参数可以设置获取多少个字符串 fputs 向文件中写入字符串 不自动添加换行符 fprintf 格式化输出到文件中 比如%d %s等等强制转换在输出 fscanf 格式输出文件内容 rewind 将文件内部的位置指针重新指向一个流(数据流/文件)的开头 fseek 设置文件指针位置(比如要从那个字符开始输入或者读取) 只支持long范围字节更大就用setpos函数 f…
操作mysql主要用到了lua-resty-mysql库,代码可以在github上找得到 而且上面也有实例代码 由于官网给出的例子比较基本,代码也比较多,所以我这里主要介绍一些怎么封装一下,简化我们调用的代码 lua/mysql.lua local mysql = require "resty.mysql" local config = { host = "localhost", port = 3306, database = "mysql",…
Redis在2.6推出了脚本功能,允许开发者使用Lua语言编写脚本传到Redis中执行.使用脚本的好处如下: 1.减少网络开销:本来5次网络请求的操作,可以用一个请求完成,原先5次请求的逻辑放在redis服务器上完成.使用脚本,减少了网络往返时延. 2.原子操作:Redis会将整个脚本作为一个整体执行,中间不会被其他命令插入. 3.复用:客户端发送的脚本会永久存储在Redis中,意味着其他客户端可以复用这一脚本而不需要使用代码完成同样的逻辑. 使用方式: redis-cli --eval dem…
转:http://blog.csdn.net/joephoenix/articles/2283165.aspx java的IO流分两种流 字节流 InputStream OutputStream 字符流 Reader Writer 他们都是抽象类 具体实现 字节流 FileInputStream FileOutputStream 字符流 FileReader FileWriter 字符流处理的单元为2个字节的Unicode字符,分别操作字符.字符数组或字符串,而字节流处理单元为1个字节,操作字节…
require "luasql.mysql" --创建环境对象 env = luasql.mysql() --连接数据库 conn = env:connect("数据库名","用户名","密码","IP地址",端口) --设置数据库的编码格式 conn:execute"SET NAMES GB2312" --执行数据库操作 cur = conn:execute("select…
 C++ Code  123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657   /* <sstream>库定义了三种类:     istringstream     ostringstream     stringstream 分别用来进行字符串流的输入.输出和输入输出操作. */ #include <string>     …
相比Redis事务来说,Lua脚本有以下优点减少网络开销: 不使用 Lua 的代码需要向 Redis 发送多次请求, 而脚本只需一次即可, 减少网络传输;原子操作: Redis 将整个脚本作为一个原子执行, 无需担心并发, 也就无需事务;复用: 脚本会永久保存 Redis 中, 其他客户端可继续使用. 1.创建limit.lua文件 local key = KEYS[1] --限流KEY(一秒一个) local limit = tonumber(ARGV[1]) --限流大小 local cur…
简介 本篇博客将详细讲解mysql的一些常用sql语句操作,例如创建数据库,删除数据库,创建表,修改表,删除表,以及简单查询案例. 关于mysql数据中的SQL的大小写问题 1.不区分大小写 1. sql中的关键字函数名 2. 存储过程.促存储函数.调度器 2.区分大小写 1. 库名.表名(也可以不区分--修改配置文件或者环境变量) 2. 触发器 3. 视图 3.第一类语句:与数据库相关的语句 语句1:创建数据库 CREATE DATABASE [IF NOT EXISTS] db_name […
一.流(Stream) 所谓流(Stream),就是一系列的数据. 当不同的介质之间有数据交互的时候,java就会使用流来实现. 数据源可以使文件,还可以是数据库,网络,甚至是其他的程序 不如读取文件的数据到程序中,站在程序的角度来看,就叫做输入流 字节输入流:InputStream 字符输入流:Reader 缓存字符输入流:BufferedReader 数据输入流  :DataInputStream 字节输出流:OutputStream 字符输出流:Writer 缓存字符输出流:PrintWr…
所有流对象 InputStream 字节流         FileInputStream 字节流 专门读写非文本文件的         BufferedInputStream 高效流 OutPutStream 字节流         FileOutPutStream 字节流 专门读写非文本文件的         BufferedOutputStream 高效流 Writer 文本输出流         OutputStreamWriter 转换流,改变编码             FileWr…
一.Reader和Writer 1. 字符流原理 Reader是所有字符输入流的父类而Writer是所有字符输出流的父类.字符流是以字符(char)为单位读写数据的.一次处理一个unicode.字符流都是高级流,其底层都是依靠字节流进行读写数据的,所以底层仍然是基于字节读写数据的.2. 常用方法 Reader的常用方法:int read()读取一个字符,返回的int”值低16”位有效. 其实返回的是char 若返回的是-1 则读取到末尾 int read(char[] chs)从该流中读取一个字…
local redis = require "resty.redis" local red = redis:new() red:set_timeout() -- sec -- or connect to a unix domain socket file listened -- by a redis server: -- local ok, err = red:connect("unix:/path/to/redis.sock") local ok, err = r…
转自Stack Overflow:https://stackoverflow.com/questions/42800250/difference-between-open-and-io-bytesio-in-binary-streams 还有一篇python官网的相关知识,需要一起学习下:https://docs.python.org/3/library/io.html…
--[[ lua操作相关文件I/O ]]-- --件,假设该文件不存在的话, --lua会帮助我们在你规定的文件夹下创建这个文件,前提是该文件夹要存在 --[[ 同一时候我们应该掌握写入文件的模式: 对下面写入模式进行说明: "r" 模式:读模式(该模式下,仅仅同意对文件进行读取内容,不容许写入) "w":写模式(同意对文件进行写入.上次的文件内容会由于本次的写入而被替换掉) "a":加入模式 "w+":更新模式,全部之前的数…
一 JAVA语言中主要通过流来完成IO操作. 流:计算机的输入输出之间流动的数据序列,也是类的对象.java中的流方式就像是建立在数据交换源和目的之间的一条通信路径. 数据源:计算机中的数据源是指可以提供数据的地方,包括键盘,磁盘文件,网络接口等. 输入流:从程序外部传向程序的流.输入流只能从中读数据. 输出流: 从程序传到外部的流.输出流只能向其写入数据. 所谓的输入和输出是以程序为中心的,数据流向程序即输入流,数据从程序中流出即输出流. 二 字节流 字节流是以字节为传输单位的数据读写形式,用…
第一讲     IO概述 概述 1.IO流:即InputOutput的缩写. 2.特点: 1)IO流用来处理设备间的数据传输. 2)Java对数据的操作是通过流的方式. 3)Java用于操作流的对象都在IO包中. 4)流按操作数据分为两种:字节流和字符流. 5)流按流向分为:输入流和输出流. 注意:流只能操作数据,而不能操作文件. 3.IO流的常用基类: 1)字节流的抽象基流:InputStream和OutputStream 2)字符流的抽象基流:Reader和Writer 注:此四个类派生出来…
1.File 文件操作 java.io.File用来表示文件或者目录.只能用来表示文件或者目录的大小名称等信息,而无法完成对文件内容的CRUD. 1.1构造方法 有四种,当然基本都是根据文件的路径或者直接文件的名字进行创建.注意,此时的创建并非真正意义上的创建.只是在程序中创建了一个File文件.仅此而已.硬盘中并未出现文件. 1.2常用方法 针对文件 1.boolean createNewFile() :用于真正的创建文件.返回值为boolean值.当且仅当成功创建的时候.返回true 2.b…
一.java操作l流有关的类和接口 1.File 文件类 2.RandomAccessFile 随机存储文件类 3.InputStream 字节输入流 4.OutputStream 字节输出流 5.Reader 字符输入流 6.Writer 字符输出流 二.流的概念和作用 流是一组有顺序的.有起点和终点的字节集合,是对数据传输的总称活抽象.即数据在两设备之间传输称为流 流的本质是数据传输,根据数据传输特性,将流抽象为各种类,方便只管的进行数据操作 三.IO流的分类 1.根据处理数据类型的不同 分…