diff --git a/lib/messages-archive.js b/lib/messages-archive.js
index f194acd..3fcfcc8 100644
--- a/lib/messages-archive.js
+++ b/lib/messages-archive.js
@@ -1,11 +1,25 @@
 'use strict';
 
+const redis = require('redis');
+
+const config = require('./config');
 const logger = require('komodo-sdk/logger');
 const db = require('./db-mysql');
 
 const DIRECTION_INCOMING = 0;
 const DIRECTION_OUTGOING = 1;
 
+const redisClient = config.redis && redis.createClient(config.redis);
+
+function composeRedisCounterKeyword(origin, direction) {
+    const directionLabel = direction == DIRECTION_OUTGOING ? 'OUT' : 'IN';
+    return `CALMA_MESSAGE_COUNTER_${origin}_${directionLabel}`;
+}
+
+function incrementCounter(origin, direction) {
+    redisClient && redisClient.INCR(composeRedisCounterKeyword(origin, direction), () => {});
+}
+
 /**
  * Menyimpan pesan ke dalam archive histori pesan di database
  * 
@@ -19,6 +33,11 @@ const DIRECTION_OUTGOING = 1;
  * @param  {number} direction - 0: incoming, 1: outgoing
  */
 function insert(params, direction) {
+    incrementCounter(
+        params.origin_label || params.origin,
+        params.direction
+    );
+
     if (!db.pool) return;
 
     const query = `INSERT INTO messages SET ?`;
diff --git a/package.json b/package.json
index ad6b9fe..955ae84 100644
--- a/package.json
+++ b/package.json
@@ -25,6 +25,7 @@
     "komodo-sdk": "git+http://gitlab.kodesumber.com/komodo/komodo-sdk.git",
     "mysql": "^2.17.1",
     "natural-compare-lite": "^1.4.0",
+    "redis": "^2.8.0",
     "request": "^2.88.0",
     "yargs": "^13.2.4"
   },