freeswitch的不同版本使用redis的区别,1.4版本只有mod_redis模块,只能对呼叫做limit的限制功能,1.6以上版本增加了mod_hiredis模块对redis进行操作,此方案中可以直接在拨号计划使用mod_hiredis,(用法如下:)。但是这个模块在freeswitch 1.6版本中mod_hiredis不支持password参数,即mod_hiredis只能连接没有密码的redis,1.6以上版本可以使用该模块来调用redis。
相对于简单的业务模型,memcache是不错的选择,需要注意的是它不是持久存储。
下面将两种不同的key value的使用介绍如下:
一、freeswitch在拨号计划中通过lua实现对redis进行操作
安装lua5.2, luarocks
freeswitch1.4 默认集成的lua的版本5.2。不要使用yum安装,因为yum intall luarocks 这个默认安装出来的lua版本是5.1。所以我们源码安装lua5.2, luarocks。为了保证安装正确,我们最好在进行如下操作前,将系统自带的lua和luarocks删除。
安装lua5.2
下载安装包:wget http://www.lua.org/ftp/lua-5.2.4.tar.gz
进入解压目录 ,执行如下命令:
make linux //设置安装平台
make install //执行安装
安装luarocks
下载安装包:wget http://luarocks.github.io/luarocks/releases/luarocks-2.4.4.tar.gz
进入解压目录 ,执行如下命令:
./configure
make bootstrap
执行命令luarocks,如果提示”Lua version: 5.2”,则表示安装成功。如果这里提示是lua5.1,可以先卸载lua5.1,再安装lua5.2,重新执行以上安装步骤
安装redis
yum -y install redis
配置freeswitch的lua
配置autoload_configs/lua.conf.xm,配置so和lua文件的目录(这里路径是luarocks控件的.lua和.so的保存位置)。
<param name="module-directory" value="/usr/local/lib/lua/5.2/?.so"/>
<param name="script-directory" value="/usr/local/share/lua/5.2/?.lua"/>
安装 redis-lua插件
redis-lua插件封装了对redis操作,redis-lua用法详细见官网
luarocks install redis-lua
刷新配置
在fs_cli执行如下两条命令,刷新新的配置(如果在测试过程出现执行如下命令时,不能刷新配置,请重启freeswitch):
reloadxml
reload mod_lua
写个lua测试脚本,配置到freewitch的拨号计划
test-pwd.lua
此脚本功能访问redis,并获取一个值,并打印