如何从Tarantool中的随机元组或数组中获取哈希?

问题描述

我有一个函数(random_typle)参数作为随机元组,那么如何从元组的所有字段中获取哈希? 我可以使用类似tuple:bsize()的方法还是应该迭代所有字段并计算哈希值?

解决方法

Tarantool具有内置的digest模块,该模块带有哈希函数集合。下面我举一个函数示例来计算元组的crc32哈希。

local digest = require('digest')
local function calc_hash(tuple)
    local crc32 = digest.crc32.new()
    for _,v in ipairs(tuple) do
        crc32:update(tostring(v))
    end
    return crc32:result()
end