当前位置: 首页 > 知识库问答 >
问题:

aliyun 的 redis lua 的随机值不随机!?

华凡
2024-01-22

aliyun 的 redis lua 的随机值不随机!?

def get_cookie(hkey: str) -> str | None:    from core.redis.models import client    # Use Lua scripting to get a random field from the hash set    lua_script = """        local fields = redis.call('HKEYS', KEYS[1])        if #fields == 0 then            return nil        end        local random_index = math.random(1, #fields)        local field = fields[random_index]        return random_index    """    return client.eval(lua_script, 1, hkey)

同样的函数,在 redis 官方的 7.2.1 下面是每次都可以取到随机的 cookie

但是在 aliyun 的 redis 下面,每次取到的值都是一样的

图片.png

共有1个答案

段干俊茂
2024-01-22

测试了一下,去 aliyun 开了一个 7.0 的 redis,就是随机的

至于 redis 官方的 5.0 是不是随机的,还得测试一下

 类似资料:
  • 问题内容: 当他每次运行程序时都不断获得相同的数字时,我试图向Java解释随机数生成器。我为同一件事创建了自己的简单版本,每次运行该程序时,我也得到了与他得到的确切数字相同的数字。 我究竟做错了什么? 100个数字中的最后五个数字是: 问题答案: 您已经为随机数生成器提供了恒定的值。它是确定性的,因此每次运行都会生成相同的值。 我不确定您为什么选择使用作为种子,但是种子值与生成的值范围无关(这是由

  • 一个简单的新手问题,奇怪的是我一直没能找到解决方法。

  • 问题内容: 我正在尝试在Java中生成盐,以与用于安全密码存储的哈希算法配合使用。我正在使用以下代码创建随机盐: 这应该生成一个完全安全的,随机生成的盐,以用于我的哈希算法。但是,当我运行代码时,每次都会输出相同的盐…表示生成的盐根本不是随机的。 出于明显的安全性目的,每个用户都需要一个唯一的符号,但是如果我每次创建一个新帐户时都使用此代码,则每个用户都将具有相同的符号,这一开始就破坏了它的用途。

  • 我正在尝试模拟我在上面发现的数学难题http://blog.xkcd.com/2010/02/09/math-puzzle/.然而,java random类返回了奇怪的结果。在下面的代码中,结果是预期的。第一行的输出大约为.612,第二行的输出介于.49和.51之间。int试验=10000000;int成功=0; 然而,当我切换 到 第一个数字的输出约为 .476,第二个数字的输出约为 .710。

  • 我想看看哪个随机数生成器包在我的神经网络中更快。 我目前正在更改github的一个代码,其中两个都是numpy。随机和随机包用于生成随机整数、随机选择、随机样本等。 我之所以更改此代码,是因为出于研究目的,我希望设置一个全局种子,以便能够比较超参数不同设置的精度性能。问题是,现在我必须为随机包和numpy包设置两个全局种子。理想情况下,我只想设置一个种子,因为来自两个随机数生成器序列的图形可能会更

  • random(min, max) 该方法可以返回在"min"和"max"之间的数值,要求"min"和"max"都为数值,且"max"大于或等于"min",否则返回0. min <Number> 最小值,最小值可以等于该值 max <Number> 最大值,最大值可以等于该值 console.log(this.$u.random(1, 3));