randomint
Available inall subroutines.
Returns a random integer value between from
and to
, inclusive.
This 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(0, 99) < 5) { set req.http.X-ABTest = "A";} else { set req.http.X-ABTest = "B";}if (randomint(-1, 0) == -1) { set req.http.X-ABTest = "A";} else { set req.http.X-ABTest = "B";}
Try it out
randomint
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.
Random integers
Generate random whole numbers in a range.
Set Google Analytics _ga cookie
Due to ITP 2.1 restrictions, cookies set in JavaScript may be limited to a 7-day TTL. Set your Google Analytics cookie on the edge to avoid this.
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)