Skip to content
Snippets Groups Projects
  • Vermaat's avatar
    473c732c
    Cache transcript protein links in Redis · 473c732c
    Vermaat authored
    Caching of transcript protein links received from the NCBI Entrez
    service is a typical use case for Redis. This implements this cache
    in Redis and removes all use of our original database table.
    
    An Alembic migration copies all existing links from the database to
    Redis. The original `TranscriptProteinLink` database table is not
    dropped. This will be done in a future migration to ensure running
    processes don't error and to provide a rollback scenario.
    
    We also remove the expiration of links (originally defaulting to 30
    days), since we don't expect them to ever change. Negative links
    (caching a 'not found' result from Entrez) *are* still expiring,
    but with a longer default of 30 days (was 5 days).
    
    The configuration setting for the latter was renamed, yielding the
    following changes in the default configuration settings.
    
    Removed default settings:
    
        # Expiration time for transcript<->protein links from the NCBI (in seconds).
        PROTEIN_LINK_EXPIRATION = 60 * 60 * 24 * 30
    
        # Expiration time for negative transcript<->protein links from the NCBI (in
        # seconds).
        NEGATIVE_PROTEIN_LINK_EXPIRATION = 60 * 60 * 24 * 5
    
    Added default setting:
    
        # Cache expiration time for negative transcript<->protein links from the NCBI
        # (in seconds).
        NEGATIVE_LINK_CACHE_EXPIRATION = 60 * 60 * 24 * 30
    473c732c
    History
    Cache transcript protein links in Redis
    Vermaat authored
    Caching of transcript protein links received from the NCBI Entrez
    service is a typical use case for Redis. This implements this cache
    in Redis and removes all use of our original database table.
    
    An Alembic migration copies all existing links from the database to
    Redis. The original `TranscriptProteinLink` database table is not
    dropped. This will be done in a future migration to ensure running
    processes don't error and to provide a rollback scenario.
    
    We also remove the expiration of links (originally defaulting to 30
    days), since we don't expect them to ever change. Negative links
    (caching a 'not found' result from Entrez) *are* still expiring,
    but with a longer default of 30 days (was 5 days).
    
    The configuration setting for the latter was renamed, yielding the
    following changes in the default configuration settings.
    
    Removed default settings:
    
        # Expiration time for transcript<->protein links from the NCBI (in seconds).
        PROTEIN_LINK_EXPIRATION = 60 * 60 * 24 * 30
    
        # Expiration time for negative transcript<->protein links from the NCBI (in
        # seconds).
        NEGATIVE_PROTEIN_LINK_EXPIRATION = 60 * 60 * 24 * 5
    
    Added default setting:
    
        # Cache expiration time for negative transcript<->protein links from the NCBI
        # (in seconds).
        NEGATIVE_LINK_CACHE_EXPIRATION = 60 * 60 * 24 * 30