Enable the default connection in Dashboard and then any programming feature that Redis offers will be available to your services via the underlying redis-py library, as in the examples below.
 
 
# -*- coding: utf-8 -*-
# Zato
from zato.server.service import Service
class MyService(Service):
    def handle(self):
        self.kvdb.conn.set('my-key', 'my-value')
        self.logger.info(self.kvdb.conn.get('my-key'))
# -*- coding: utf-8 -*-
# Zato
from zato.server.service import Service
class MyService(Service):
    def handle(self):
        # Clear/delete the list
        self.kvdb.conn.delete('my-list')
        # Push 10 elements
        for x in range(10):
            self.kvdb.conn.lpush('my-list', x)
        # Read them back
        self.logger.info(self.kvdb.conn.lrange('my-list', 0, 9999))
# -*- coding: utf-8 -*-
# Zato
from zato.server.service import Service
class MyService(Service):
    def handle(self):
        # Clear/delete the dictionary
        self.kvdb.conn.delete('my-dict')
        # Set 10 keys and values
        for x in range(10):
            self.kvdb.conn.hset('my-dict', x, x**x)
        # Read one of them back
        self.logger.info(self.kvdb.conn.hget('my-dict', 7))
Pipelines can be used to improve performance of the execution of multiple operations and to invoke the operations atomically.
# -*- coding: utf-8 -*-
# Zato
from zato.server.service import Service
class MyService(Service):
    def handle(self):
        # Either deletes all the keys specified and adds a new one or none
        # of it is performed.
        with self.kvdb.conn.pipeline() as p:
            # Deletes
            p.delete('my-key-1')
            p.delete('my-key-2')
            p.delete('my-key-3')
            # Add new key
            p.set('my-key-4', 'my-value')
            # Execute all the commands queued up in a single transaction
            p.execute()
Book a demo with an expert who will help you build meaningful systems that match your ambitions
"For me, Zato Source is the only technology partner to help with operational improvements."