前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis 将发展为一个生态体系

Redis 将发展为一个生态体系

作者头像
dys
发布2018-04-03 17:37:16
8190
发布2018-04-03 17:37:16
举报
文章被收录于专栏:性能与架构性能与架构

Redis Labs 最近宣布了一个新的Redis扩展方式:Redis Module System

Redis 现在可以通过 Lua 脚本进行扩展,但 Module 提供了更加底层的 Redis 访问方式

Module System 的意义重大,将汇集大量开发者的智慧,让 Redis 的用户能够使用到更多强大的功能

Module 示例

Redis Lab 发布了一些 module,例如

01

图片处理模块 graphicsmagick

GraphicsMagick 是图片处理的瑞士军刀,提供了高效强大的工具集

graphicsmagick 模块提供了在 Redis 内进行图片处理的功能,如

图片缩放命令

redis> GRAPHICSMAGICK.THUMBNAIL mypic 64 64

OK

把名为mypic的key所对应的图片缩放到宽64高64

图片旋转命令

redis> GRAPHICSMAGICK.ROTATE mypic 90

OK

把名为mypic的key所对应的图片旋转90度

02

字符串扩展命令 rxstrings

这个模块是对 Redis 字符串命令的扩展,如

CHECKAND

检查某key的值和指定的字符串是否相同,然后对其执行一个命令

redis> SET mykey “Hello World”

OK

redis> CHECKAND mykey “Hello World” SET mykey “Hello Redis Modules”

OK

redis> GET mykey

“Hello Redis Modules”

检查 mykey 的值是否为 “Hello World”,如果相同,执行后面的 SET 命令

PREPEND

在key值的前面添加字符串

redis> SET mykey ” World”

OK

redis> PREPEND mykey Hello

(integer) 11

redis> GET mykey

“Hello World”

把 "Hello" 添加到 mykey 的值的前面,形成一个新的字符串

Module 的开发和使用

Redis 的当前版本还不支持模块系统,据说会在4.0中发布,现在正在分支版本中测试,到时会提供模块的支持接口

开发者可以用C语言开发模块,然后做为动态库加载到 Redis

使用模块

(1)编译模块代码,得到模块文件

(2)加载到 Redis

可以在启动时加载,--loadmodule /path/to/module.so,或者在配置文件中指定

Redis 希望创建一个生态系统,可以让大家创建并分享模块,开发者可以把模块发布到 GitHub 供其他人使用,Redis 官方也会挑选和发布高质量的模块,让所有人根据自己的需求选择最合适的模块

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档