-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
973432436
committed
May 24, 2021
0 parents
commit 9480c8e
Showing
3 changed files
with
121 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<projectDescription> | ||
<name>aardio-lib</name> | ||
<comment></comment> | ||
<projects> | ||
</projects> | ||
<buildSpec> | ||
<buildCommand> | ||
<name>com.aptana.ide.core.unifiedBuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
</buildSpec> | ||
<natures> | ||
<nature>com.aptana.projects.webnature</nature> | ||
</natures> | ||
<filteredResources> | ||
<filter> | ||
<id>1621840934159</id> | ||
<name></name> | ||
<type>26</type> | ||
<matcher> | ||
<id>org.eclipse.ui.ide.multiFilter</id> | ||
<arguments>1.0-name-matches-false-false-node_modules</arguments> | ||
</matcher> | ||
</filter> | ||
</filteredResources> | ||
</projectDescription> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
|
||
## 扩展库 | ||
|
||
#### 如何使用 | ||
|
||
```js | ||
//安装扩展库 | ||
_IMPORTURL["库名称"] = "库链接" | ||
import 库名称; //导入刚安装的扩展库 | ||
``` | ||
|
||
### 目录结构 | ||
```js | ||
/src 存储库源码,仅用于开发/查看 | ||
/released 存储打包发布后的库文件,调用时候调用此目录下对应压缩包即可 | ||
``` | ||
|
||
### 仓库地址 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
|
||
/** | ||
memcache 配置文件支持库,解决多线程下文件读写冲突问题(fsys.config 写法保持一致) | ||
[memcache] 服务安装 | ||
32位系统 1.4.5版本:http://static.runoob.com/download/memcached-1.4.5-x86.zip | ||
下载后解压到: | ||
C:\memcached\memcached-1.4.5-x86\memcached.exe | ||
[memcache] 服务开机任务启动 | ||
schtasks /create /sc onstart /tn memcached /tr "'C:\memcached\memcached-1.4.5-x86\memcached.exe' -m 2048" | ||
[memcache] 服务开机任务移除 | ||
schtasks /delete /tn memcached | ||
参考文档: | ||
https://www.runoob.com/memcached/window-install-memcached.html | ||
**/ | ||
class memcache{ | ||
ctor( server_addr = "127.0.0.1:11211" ) { | ||
if( _cache[server_addr] ) return _cache[server_addr]; | ||
this._mcached = ..libMemcached( server_addr ); | ||
this._server_addr = server_addr; | ||
_cache[server_addr] = this; | ||
..subscribe("beforeSystemEndSesssion",function(){ | ||
this.saveAll(); | ||
} ); | ||
}; | ||
@_meta; | ||
}; | ||
namespace memcache{ | ||
_cache = { @{_weak="kv"}; } | ||
_meta = { | ||
saveAll = function(){ | ||
for(k,cfg in owner) { | ||
if( ( type(k) != "string" ) || ( k[1] == '_'# ) ) continue; | ||
if( type(cfg)==type.table ){ | ||
var val = ..web.json.stringify( cfg ); | ||
owner._mcached.set( k, val ); | ||
}else{ | ||
owner._mcached.set( k, cfg ); | ||
} | ||
} | ||
}; | ||
_get = function(k) { | ||
if( type(k) != type.string ) return; | ||
|
||
if(k[1] == '_'#) // e.g. _safearray,_struct | ||
return; | ||
|
||
if( k == "saveAll" ){ | ||
return self._meta.saveAll; | ||
} | ||
var cfg = owner._mcached.get( k ); | ||
if( (#cfg) && (type(cfg)==type.string) && (cfg[1]==91/*[*/ || cfg[1]==123/*}*/) ){ | ||
cfg = ..web.json.parse(cfg); | ||
} | ||
if( !(cfg) ){ | ||
cfg = {}; | ||
} | ||
owner[[k]] = cfg; | ||
return cfg; | ||
} | ||
_set = function(k,v){ | ||
if( ( type(k) == "string" ) && ( k[1] == '_'# ) ){ | ||
owner[[k]] = v; | ||
return; | ||
} | ||
error('对象的成员对应只读的配置文件名称,不可修改!',2);//可使用 [[]] 操作符修改 | ||
} | ||
} | ||
} | ||
/**intellisense() | ||
memcache = 配置文件支持库(使用方法与 fsys.config 保持一致),\n使用 memcache 对象作为名字空间时 | ||
memcache("127.0.0.1:11211") = 创建 memcache 对象,\n参数指定默认目录.\nmemcache对象的成员都映射到 memcache-server 对应的键名下. | ||
memcache() = 在默认服务器"127.0.0.1:11211"下创建 memcache 对象;\n!memcache. | ||
!memcache.saveAll() = 写入所有配置到文件 | ||
!memcache.? = 配置文件名,\n读写配置并序列化为一个表对象,\n表的成员值可以是支持序列化的普通变量,支持table对象\n配置文件在首次使用时自动加载,退出程序前自动保存\n!memcache. | ||
end intellisense**/ |