Storage Service

Storage Service is a caching layer to persist data about your users. This helps ensure that variation assignment for any user is always consistent even if you update the traffic split or other campaign settings.

You can implement a storage service that reads and saves user-campaign data mapping in backend services such as Redis, Memcache, MongoDB, or any other storage service.

How to Implement a Storage Service

Storage Service is optional while instantiating the VWO SDK. However, to ensure sticky variation assignments, we recommend implementing it.

Usage

using System;
using System.Collections.Generic;
using VWOFmeSdk.Packages.Storage;

public class StorageConnector : Connector
{
   public override object Get(string featureKey, string userId)
   {
       // Retrieve data based on featureKey and userId
       return null;
   }

   public override void Set(Dictionary<string, object> data)
   {
       // Store data based on data["featureKey"] and data["userId"]
   }
}

var vwoInitOptions = new VWOInitOptions
{
   SdkKey = "32-alpha-numeric-sdk-key",
   AccountId = 123456,
   Storage = new StorageConnector()
};

Storage Service should expose two methods: get and set. These methods are used by VWO whenever there is a need to read or write from the storage service.

Method NameParamsDescriptionReturns
GetfeatureKey, userIdRetrieve stored data corresponding to featureKey and userIdReturns a matching user-feature data mapping corresponding to featureKey and userId passed
SetdataStore user-feature data mappingnull