I am re-using code I successfully used in a very similar theme and install, and in this new site/environment, the function set_transient does not write the transient to the database, returns false, and I get no errors.
As a test, I've also attempted setting a very simple test transient (set_site_transient('test_transient','test content', 28800);), and that also fails to write to the database. I've isolated it from the larger function, and just tried added it directly to a page template, functions.php, etc., and even the simple test fails to set anywhere else either. There are no errors in the log.
As another test, I replaced set_site_transient() with update_option(), and the option was properly added and set, so the issue is specific to transients.
What factors in the site, install, or perhaps unrelated code, could be causing this to not work?