randomint_seeded
Available inall subroutines.
Identical to randomint
, except takes an
additional parameter used to seed the random number generator. This seed determines randomness. A consistent seed will provide a consistent result.
This function does not use secure random numbers and should not be used for cryptographic purposes.
Even though integer values in VCL are typically 64-bit signed integers,
this VCL function only accepts from
, to
, and seed
, which are signed 32-bit integers.
The range of valid values for from
, to
, and seed
is therefore
−(231) to 231 − 1 inclusive.
That is, the minimum and maximum values are -2147483648 and 2147483647
respectively, or -0x80000000 and 0x7FFFFFFF in hexadecimal.
This function is not prefixed with the std.
namespace.
Example
if (randomint_seeded(0, 99, 555) < 5) { set req.http.X-ABTest = "A";} else { set req.http.X-ABTest = "B";}if (randomint_seeded(-1, 0, 555) == -1) { set req.http.X-ABTest = "A";} else { set req.http.X-ABTest = "B";}
Try it out
randomint_seeded
is used in the following code examples. Examples apply VCL to real-world use cases and can be deployed as they are, or adapted for your own service. See the full list of code examples for more inspiration.
Click RUN on a sample below to provision a Fastly service, execute the code on Fastly, and see how the function behaves.
Use A/B testing to personalize responses
Serve different responses to separate user cohorts.