Use Redis to define a List

Description

Redis can be used to maintain named lists.

Entries are added to a list at either the 'left', by calling LPush, or at the 'right' by calling RPush.

dim redis as extension::RedisClient = extension::RedisClient::CreateClient()
dim list as extension::RedisResult

redis.LPush("GroceryCart","Bannanas")
redis.LPush("GroceryCart","Apples")
redis.LPush("GroceryCart","Milk")

The LRange method reads the list from the from 'left' to 'right'.

Note that the List returns a type of 'Array', and while the valueString contains a cr-lf delimited list of the entries, the individual entries can be read by calling the GetItem method on the RedisResult that is returned.

list = redis.LRange("GroceryCart")
? list.type
= "Array"

? list.valueString
= Milk
Apples
Bannanas


dim item as extension::RedisResult
item = list.GetItem(1)
? item.valueString
= "Milk"

item = list.GetItem(2)
? item.valueString
= "Apples"

item = list.GetItem(3)
? item.valueString
= "Bannanas"

To remove items from the left, use the LPop method.

item = redis.LPop("GroceryCart")
? item.valueString
= "Milk"

list = redis.LRange("GroceryCart")
? list.type
= "Array"
? list.valueString
= Apples
Bannanas

The remove items from the right, use the RPop method.

item = redis.RPop("GroceryCart")
? item.valueString
= "Bannanas"

list = redis.LRange("GroceryCart")
? list.type
= "Array"

? list.valueString
= "Apples"

To delete the entire list, the Del method can be called, just as it can be called for Simple 'keys'.

redis.Del("GroceryCart")