进阶-Redis和Zedis
可在Z1h内使用$redis(cmd, ...)
调用redis命令
配置
在使用配置文件运行Z1h时, 如果配置了redis
字段, 例
{
...
"redis": {
"address": "127.0.0.1:6379",
// "select": 8,
// "password": "xxx",
},
...
}
则$redis
方法就是对配置的redis实例进行操作
如果未配置, 使用$redis
方法时则会调用内置的zedis
模块
使用
$redis方法传入的第一个参数必须为String类型, 表示操作命令
返回值为[result, error], 注意error为空时, result也可能为空. 在使用redis实例时, result的类型一般为[]byte或者[][]byte. 在使用zedis模块时, result类型可能为String/Float/[]byte
zedis
zedis是由作者专门为Z1h开发的, 基于内存、可持久化的日志型、Key-Value、NoSQL数据库, 指令和文档正努力朝着兼容redis的方向研发.
zedis之于redis, 类似于sqlite之于mysql. 是一种无需另起进程、内置于应用进程中、依赖于内存和单文件的替代品.
可以通过以下方式查看当前是否在使用zedis:
var [res, err] = $redis('VERSION')
print(err? `It's redis`: `It's zedis, version: ${res}`)
zedis目前仍在不稳定测试阶段, 尚不支持部分指令, 请慎用于正式环境
示例
// 设置和获取值
print('Get:', assert($redis('GET', 'count')))
print('Set:', assert($redis('SET', 'count', 100)))
print('Incr:', assert($redis('INCR', 'count')))
print('Get:', assert($redis('GET', 'count')))