跳转到主要内容

将Redis模块打包成可分发格式

项目描述

license CI GitHub issues Codecov

RAMP

Redis自动模块打包

类似于npm init,此打包器将Redis模块打包以便后续分发。

它从模块中收集信息,例如模块名称、命令列表、版本和额外的元数据。

先决条件

确保redis-server在您的PATH上。GitHub actions会自动安装此软件。

export PATH=$PATH:<PATH_TO_REDIS>

安装

您可以使用pip install或setup.py脚本。

pip install ramp-packer
python setup.py install

用法

清单模式

ramp pack <PATH_TO_RedisModule.so> -m <PATH_TO_Manifest.yml>

manifest.yml应指定您的模块属性,如果您使用命令行模式,则需要手动指定这些属性,有关完整用法选项和manifest.yml的参考,请参阅。

命令行模式

ramp pack <PATH_TO_RedisModule.so> -a <author> -e <email> -A <architecture> -d <description> -h <homepage> -l <license> -c <cmdargs> -r <redis-min-version>

完整用法选项

Usage: ramp [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  pack
  unpack
  validate
  version

打包

Usage: ramp pack [OPTIONS] MODULE

Options:
  -o, --output TEXT               output file name
  -v, --verbose                   verbose mode: print the resulting metadata
  -m, --manifest FILENAME         generate package from manifest
  -d, --display-name TEXT         name for display purposes
  -a, --author TEXT               module author
  -e, --email TEXT                authors email
  -A, --architecture TEXT         module compiled on i386/x86_64 arch
  -D, --description TEXT          short description
  -h, --homepage TEXT             module homepage
  -l, --license TEXT              license
  -c, --cmdargs TEXT              module command line arguments
  -r, --redis-min-version TEXT    redis minimum version
  -R, --redis-pack-min-version TEXT
                                  redis pack minimum version
  -cc, --config-command TEXT      command to configure module at run time

  -O, --os TEXT                   build target OS (Darwin/Linux)
  -C, --capabilities TEXT         comma seperated list of module capabilities
  --help                          Show this message and exit.

模块功能

以下是可以为模块指定的功能列表

功能 描述
类型 模块有其自己的类型,并且不仅操作现有的Redis类型
no_multi_key 模块没有操作多个键的方法
replica_of 当模块被加载到源或目标数据库时,可以与replicaof功能一起工作
backup_restore 模块可以与导入/导出功能一起工作
eviction_expiry 模块能够处理驱逐和过期而不会出现任何问题
reshard_rebalance 模块能够在重新分片和平衡的数据库上操作
failover_migrate 模块能够在故障转移和迁移的数据库上操作
persistence_aof 模块能够在选择AOF持久化选项的数据库上操作
persistence_rdb 模块能够在选择SNAPSHOT持久化选项的数据库上操作
hash_policy 模块能够在具有用户定义的HASH POLICY的数据库上操作
flash 模块能够在启用或随时间更改Flash内存的数据库上操作
crdb 模块能够在具有默认Redis数据类型的crdt的数据库上操作
clustering 模块能够在可以进行迁移的分片和分片的数据库上操作
intershard_tls 模块支持分片之间的双向加密通信
intershard_tls_pass 模块支持需要密码的intershard_tls
ipv6 模块支持分片之间的ipv6通信

输出

ramp pack生成module.zip

其中包含

1. RedisModule.so - original module
2. Module.json - module's metadata
3. deps/ - a dir with bundle dependencies (optional) 

测试

确保redis-server在您的PATH中

export PATH=$PATH:<PATH_TO_REDIS>

安装RAMP

python setup.py install

编译RedisGraph适用于您的OS v1.0.12 (https://github.com/RedisLabsModules/RedisGraph/tree/v1.0.12)

redisgraph.so复制到本项目的根目录中的test_module目录。

运行测试

python test.py

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。

源分布

ramp_packer-2.5.10.tar.gz (12.7 kB 查看哈希值)

上传

构建分布

ramp_packer-2.5.10-py3-none-any.whl (15.8 kB 查看哈希值)

上传 Python 3

支持者