Hello there,
i have stored ~200 000 registrations contacts in redis database and when kamailio starts looking for expired contacts in redis then it starts giving these errors:


WARNING: PR_LOG: 123: db_redis [redis_dbase.c:1099]: db_redis_perform_query(): performing full table scan on table 'location' while performing query

WARNING: PR_LOG: 123: db_redis [redis_dbase.c:1102]: db_redis_perform_query():   scan key 0 is 'expires'

WARNING: PR_LOG: 123: db_redis [redis_dbase.c:1102]: db_redis_perform_query():   scan key 1 is 'expires'

ERROR: PR_LOG: 123: <core> [core/mem/q_malloc.c:291]: qm_find_free(): qm_find_free(0x7ff80922b010, 3055920); Free fragment not found!

ERROR: PR_LOG: 123: <core> [core/mem/q_malloc.c:425]: qm_malloc(): qm_malloc(0x7ff80922b010, 3055920) called from core: db_res.c: db_allocate_rows(183), module: core; Free fragment not found!

ERROR: PR_LOG: 123: <core> [db_res.c:185]: db_allocate_rows(): no private memory left

ERROR: PR_LOG: 123: db_redis [redis_dbase.c:1115]: db_redis_perform_query(): Failed to allocate memory for rows 
I have configured the private memory to 128 MB but seems that isn't enough to handle with all these contacts. 
Is the only option here increase the private memory or there is any other kind of configuration(in redis or kamailio) that i can make to avoid this? 

Best Regards
José Seabra
--
Cumprimentos
José Seabra