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.
User contributed notes
BETADo you see an error in this page? Do have an interesting use case, example or edge case people should know about? Share your knowledge and help people who are reading this page! (Comments are moderated; for support, please contact support@fastly.com)