elt = ucl_object_lookup (obj, "prefix");
if (elt == NULL || ucl_object_type (elt) != UCL_STRING) {
+ gchar *redis_object;
+
/* Default non-users statistics */
if (backend->enable_users || backend->cbref_user != -1) {
- backend->redis_object = REDIS_DEFAULT_USERS_OBJECT;
+ redis_object = REDIS_DEFAULT_USERS_OBJECT;
}
else {
- backend->redis_object = REDIS_DEFAULT_OBJECT;
+ redis_object = REDIS_DEFAULT_OBJECT;
+ }
+
+ /* Prepend classifier name if defined */
+ elt = ucl_object_lookup (obj, "name");
+ if (elt != NULL && ucl_object_type (elt) == UCL_STRING) {
+ const gchar *cl_name = ucl_object_tostring (elt);
+ gchar *temp;
+ temp = g_malloc (strlen (cl_name) + strlen (redis_object) + 2);
+ strcpy (temp, cl_name);
+ strcat (temp, "_");
+ strcat (temp, redis_object);
+ redis_object = temp;
}
+
+ backend->redis_object = redis_object;
}
else {
/* XXX: sanity check */
cache_ctx->redis_object = ucl_object_tostring (obj);
}
else {
- cache_ctx->redis_object = DEFAULT_REDIS_KEY;
+ gchar *cl_name = st->classifier->cfg->name;
+ if (cl_name) {
+ gchar *redis_object;
+ redis_object = g_malloc (strlen (cl_name) + strlen (DEFAULT_REDIS_KEY) + 2);
+ strcpy (redis_object, cl_name);
+ strcat (redis_object, "_");
+ strcat (redis_object, DEFAULT_REDIS_KEY);
+ cache_ctx->redis_object = redis_object;
+ } else {
+ cache_ctx->redis_object = DEFAULT_REDIS_KEY;
+ }
}
cache_ctx->conf_ref = conf_ref;