Skip to content

Putting data into cache

This API request places the object into Backendless cache and maps it to the specified key. If the timeToLive argument is not set, the object will expire from cache in 2 hours from the time when it is put in cache. All methods are available via Backendless.Cache.[methodname] accessor:

// synchronous methods
public void put( String key, Object obj )
public void put( String key, Object obj, int timeToLive )

// asynchronous methods
public void put( String key, Object obj, AsyncCallback<Object> callback )
public void put( String key, Object obj, int timeToLive, AsyncCallback<Object> callback );

where:

Argument                Description
key key assigned to the object to identify it in cache. The key is used to retrieve the object from cache or to check if the cache still contains the object.
obj object to place into cache.
timeToLive numeric value (in seconds) indicating how long the object must stay in cache before it is expires. When an object expires, Backendless automatically removes it from cache. The default value is 7200 seconds.
callback the callback used for asynchronous calls to indicate that the operation has either successfully completed or resulted in error.

Example

AsyncCallback<Object> callback = new AsyncCallback<Object>()
    {
      @Override
      public void handleResponse( Object o )
      {
         Log.i( "MYAPP", "[ASYNC] object has been placed into cache" );
      }

      @Override
      public void handleFault( BackendlessFault backendlessFault )
      {
        Log.e( "MYAPP", "Error - " + backendlessFault.getMessage() );
      }
    };

    // putting string into cache
    Backendless.Cache.put( "foo", "hello world", callback );

    // putting complex object into cache
    Order order = Backendless.Persistence.of( Order.class ).findFirst();
    Backendless.Cache.put( "firstorder", order );
    Log.i( "MYAPP", "[SYNC] object has been placed into cache" );