Main Content

put

Write key-value pairs to cache

Description

put(c,key1,value1,...,keyN,valueN) writes key-value pairs to cache. You can store any type of MATLAB® data in a cache.

example

put(c,keySet,valueSet) writes key-value pairs to cache with keys from by keySet, each mapped to a corresponding value from valueSet. The input arguments keySet and valueSet must have the same number of elements, with keySet having elements that are unique.

example

Examples

collapse all

Start a persistence service that uses Redis™ as the persistence provider. The service requires a connection name and an open port. Once the service is running, you can connect to the service using the connection name and create a cache.

ctrl = mps.cache.control('myRedisConnection','Redis','Port',4519);
start(ctrl)
c = mps.cache.connect('myCache', 'Connection', 'myRedisConnection');

Add keys and values to the cache and display them as a MATLAB table.

put(c,'keyOne',10,'keyTwo',20,'keyThree',30,'keyFour',[400 500],'keyFive',magic(5))
tt = table(keys(c), get(c,keys(c))','VariableNames',{'Keys','Values'})
tt =

  5×2 table

       Keys          Values   
    __________    ____________

    'keyFive'     [5×5 double]
    'keyFour'     [1×2 double]
    'keyOne'      [        10]
    'keyThree'    [        30]
    'keyTwo'      [        20]

Start a persistence service that uses Redis as the persistence provider. The service requires a connection name and an open port. Once the service is running, you can connect to the service using the connection name and create a cache.

ctrl = mps.cache.control('myRedisConnection','Redis','Port',4519);
start(ctrl)
c = mps.cache.connect('myCache', 'Connection', 'myRedisConnection');

Add a set of keys and corresponding values to the cache and display them as a MATLAB table.

keySet = {'keyOne','keyTwo','keyThree','keyFour','keyFive'}
valueSet = {10, 20, 30, [400 500], magic(5)}
put(d,keySet,valueSet)
tt = table(keys(c), get(c,keys(c))','VariableNames',{'Keys','Values'})
tt =

  5×2 table

       Keys          Values   
    __________    ____________

    'keyFive'     [5×5 double]
    'keyFour'     [1×2 double]
    'keyOne'      [        10]
    'keyThree'    [        30]
    'keyTwo'      [        20]

Create a class whose object you want to write to the Redis cache.

classdef BasicClass
    properties
        Value = pi;
    end
    methods
        function r = roundOff(obj)
            r = round([obj.Value],2);
        end
        function r = multiplyBy(obj,n)
            r = [obj.Value] * n;
        end
    end
end

Create an object of the class and assign a value to the Value property,

a = BasicClass
a.Value = 4

Start a persistence service that uses Redis as the persistence provider. The service requires a connection name and an open port. Once the service is running, you can connect to the service using the connection name and create a cache.

ctrl = mps.cache.control('myRedisConnection','Redis','Port',4519);
start(ctrl)
c = mps.cache.connect('myCache', 'Connection', 'myRedisConnection');

Add a key and the object that you created to the cache and retrieve the object.

put(c,'objKey',a)
objVal = get(c,'objKey')
objVal = 

  BasicClass with properties:

    Value: 4

The output shows that there is no loss of information during writing an object to the cache and retrieving the object from the cache. The retrieved object contains the same information as the input object.

Input Arguments

collapse all

A data cache represented by a persistence provider specific data cache object.

Currently, Redis and MATLAB are the only supported persistence providers. Therefore, the cache objects will be of type mps.cache.RedisCache or mps.cache.MATFileCache.

Example: c

Key to add, specified as a character vector.

Example: 'keyFour'

Value, specified as an array. value can be any valid MATLAB data type, including MATLAB objects.

Example: [400, 500]

Keys, specified as a cell array of character vectors.

Example: {'keyOne','keyTwo','keyThree','keyFour','keyFive'}

Values, specified as comma-separated cell array. Each value may be any valid MATLAB data type, including MATLAB objects.

Example: {10, 20, 30, [400 500], magic(5)}

Version History

Introduced in R2018b