openresty中甚至没有为我们提供一个方便计算hash的函数,这里我们介绍一下如何通过调用nginx内部的ngx_murmur_hash2()来实现此功能。
1. lua-resty-murmurhash2
其实lua-resty-murmurhash2.lua也只是简单的将nginx的内部函数ngx_murmur_hash2()导出,代码比较简单,我们来看一下:
1.1 调用murmurhash2函数
我们可以通过如下的方式来调用:
注:如果用到外部的动态链接库,可以将其拷贝到/usr/lib64/、/usr/local/openresty/lualib/ 目录下,或者拷贝到/usr/local/openresty/luajit/lib/ 目录下
[参考]
-
murmurhash2官网
-
在nginx中采用lua对请求的url进行hash取模