SSL_CTX_SESS_SET_CACHE_SIZE(3) | Library Functions Manual | SSL_CTX_SESS_SET_CACHE_SIZE(3)

# NAME

`SSL_CTX_sess_set_cache_size`, `SSL_CTX_sess_get_cache_size` — manipulate session cache size

# SYNOPSIS

library “libssl” libcrypto
`#include <openssl/ssl.h>`

long
`SSL_CTX_sess_set_cache_size`(SSL_CTX *ctx, long t);

long
`SSL_CTX_sess_get_cache_size`(SSL_CTX *ctx);

# DESCRIPTION

`SSL_CTX_sess_set_cache_size`() sets the size of the internal session cache of context ctx to t.

`SSL_CTX_sess_get_cache_size`() returns the currently valid session cache size.

The internal session cache size is `SSL_SESSION_CACHE_MAX_SIZE_DEFAULT`, currently 1024×20, so that up to 20000 sessions can be held. This size can be modified using the `SSL_CTX_sess_set_cache_size`() call. A special case is the size 0, which is used for unlimited size.

If adding the session makes the cache exceed its size, then unused sessions are dropped from the end of the cache. Cache space may also be reclaimed by calling SSL_CTX_flush_sessions(3) to remove expired sessions.

If the size of the session cache is reduced and more sessions are already in the session cache, old session will be removed the next time a session shall be added. This removal is not synchronized with the expiration of sessions.

# RETURN VALUES

`SSL_CTX_sess_set_cache_size`() returns the previously valid size.

`SSL_CTX_sess_get_cache_size`() returns the currently valid size.

# SEE ALSO

ssl(3), SSL_CTX_ctrl(3), SSL_CTX_flush_sessions(3), SSL_CTX_sess_number(3), SSL_CTX_set_session_cache_mode(3)

# HISTORY

`SSL_CTX_sess_set_cache_size`() and `SSL_CTX_sess_get_cache_size`() first appeared in SSLeay 0.9.0 and have been available since OpenBSD 2.4.

June 8, 2025 | Debian