进阶-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')))