diff --git a/enc_server/dap_enc_ks.c b/enc_server/dap_enc_ks.c
index d8428293cd3006a02978be153ace52b9256f3c0f..b7681a0320628b76c129fcd3988196a9e8c2b033 100644
--- a/enc_server/dap_enc_ks.c
+++ b/enc_server/dap_enc_ks.c
@@ -33,11 +33,13 @@
 
 static dap_enc_ks_key_t * _ks = NULL;
 static bool _memcache_enable = false;
+static time_t _memcache_expiration_key = 0;
 
-int dap_enc_ks_init(bool memcache_backup_enable)
+int dap_enc_ks_init(bool memcache_backup_enable, time_t memcache_expiration_key)
 {
     if(memcache_backup_enable) {
         if(dap_memcache_is_enable()) {
+            _memcache_expiration_key = memcache_expiration_key;
             _memcache_enable = true;
         } else {
             log_it(L_ERROR, "Can't init memcache backup. Memcache module is not activated.");
@@ -71,7 +73,7 @@ void _save_key_in_storge(dap_enc_ks_key_t *key)
     HASH_ADD_STR(_ks,id,key);
     if(_memcache_enable) {
         dap_enc_key_serealize_t* serealize_key = dap_enc_key_serealize(key->key);
-        dap_memcache_put(key->id, serealize_key, sizeof (dap_enc_key_serealize_t), 0);
+        dap_memcache_put(key->id, serealize_key, sizeof (dap_enc_key_serealize_t), _memcache_expiration_key);
         free(serealize_key);
     }
 }
diff --git a/enc_server/dap_enc_ks.h b/enc_server/dap_enc_ks.h
index 8b62ba9eafbb199fe37a9380f2472b5a79aebe48..b24de3f4148d0a36188f9ae5036e89231518e79a 100644
--- a/enc_server/dap_enc_ks.h
+++ b/enc_server/dap_enc_ks.h
@@ -37,7 +37,9 @@ typedef struct dap_enc_ks_key{
     UT_hash_handle hh; // makes this structure hashable with UTHASH library
 } dap_enc_ks_key_t;
 
-int dap_enc_ks_init(bool memcache_backup_enable);
+int dap_enc_ks_init(bool memcache_backup_enable,
+                    time_t memcache_expiration_key);
+
 void dap_enc_ks_deinit();
 
 dap_enc_ks_key_t * dap_enc_ks_find(const char * v_id);