将Redis模块打包成可分发格式
项目描述
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 查看哈希值)
关闭
ramp_packer-2.5.10.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 71828b670728e95cc9547819982d2d4a7fd47421ac31bd5486fefd1ec9ba0a55 |
|
MD5 | b74219a861e50db2b500e3e7132b3b6d |
|
BLAKE2b-256 | 7fbcb6c19c0a06400c2c28c9194fab0ebda29911566fb20faf726d9e20838547 |
关闭
ramp_packer-2.5.10-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fe62f34e917585900e537be6cc6776f9b2d4b78bff9ce2055fa2c6635effb63f |
|
MD5 | 4d619b6a39656b2b86c81ea473d54d9c |
|
BLAKE2b-256 | eb5ebd83765c26a5e8ba4c6d4f7dda26f818cfc20101636ca1050efa9d6165bc |