Title: [Plugin: WP File Cache] Issue with Transient Value
Last modified: August 20, 2016

---

# [Plugin: WP File Cache] Issue with Transient Value

 *  [Adam Capriola](https://wordpress.org/support/users/adamcapriola/)
 * (@adamcapriola)
 * [14 years, 9 months ago](https://wordpress.org/support/topic/plugin-wp-file-cache-issue-with-transient-value/)
 * I am getting this error on my pages when view them for a 2nd time:
 * `Warning: unserialize() [function.unserialize]: Node no longer exists in /var/
   www/html/tc/tcgscans.com/wp-content/plugins/wp-file-cache/lib/class.FileCache.
   php on line 193`
 * And this is the function that is causing the issue:
 *     ```
       // Get Amazon Price
       function get_amazon_price($asin) {
       	$transName = "amzn-transient-$asin"; // Name of value in database.
       	$cacheTime = 24; // Time in hours between updates.
   
       	// Do we already have saved data? If not, lets get it.
       	if ( false === ( $trans = get_transient($transName) ) ) :
   
       		// The Function to get Price
       		$public_key = 'AKIAJ7UYHSJ4L3Q2KINQ';
       		$private_key = 'nSPy3581vu0ZyV6M5mZ+Hw+AboU43SCY2AED9+Lm';
       		$pxml = aws_signed_request( 'com', array( 'Operation' => 'ItemLookup', 'ItemId' => $asin, 'ResponseGroup' => 'OfferSummary', 'Availability' => 'Available',	'Condition' => 'All', 'AssociateTag' => 'adamcapr-20', ), $public_key, $private_key );
   
       		if ( $pxml === False ) {
       		    $trans = 'n/a';
       		}
       		else {
       		    if ( isset( $pxml->Items->Item->OfferSummary->LowestNewPrice->FormattedPrice ) ) {
       		        $trans = $pxml->Items->Item->OfferSummary->LowestNewPrice->FormattedPrice;
       		    }
       		    else {
       		        $trans = 'n/a';
       		    }
       		}
   
       		// Save our new transient, plus save it in the longer "backup" transient.
       		set_transient($transName, $trans, 60 * 60 * $cacheTime);
   
       	endif;
   
       	return $trans;
       }
       ```
   
 * And I call it within my templates like this:
 *     ```
       if ( get_post_meta($post->ID, 'asin', true) ) {
       	$asin = get_post_meta($post->ID, 'asin', true);
   
       	$out .= '<h4>Price on Amazon: ';
       	if ( function_exists('get_amazon_price') ) $out .= get_amazon_price($asin);
       	$out .= '</h4>';
       }
       ```
   
 * Basically I save a transient value, and call it within my template. On the first
   page load it shows up ok, but on subsequent views the error shows.
 * Any idea how to fix the issue? Thanks!

Viewing 6 replies - 1 through 6 (of 6 total)

 *  Plugin Author [Vladimir Kolesnikov](https://wordpress.org/support/users/vladimir_kolesnikov/)
 * (@vladimir_kolesnikov)
 * [14 years, 9 months ago](https://wordpress.org/support/topic/plugin-wp-file-cache-issue-with-transient-value/#post-2266756)
 * Hi Adam,
 * Could you please add
 * `var_export($trans);`
 * before
 * `set_transient($transName, $trans, 60 * 60 * $cacheTime);`
 * and post its value here?
 * I suspect that $trans references a non-persistent resource and hence it cannot
   be correctly unserialized.
 * Thank you,
    Vladimir
 *  Thread Starter [Adam Capriola](https://wordpress.org/support/users/adamcapriola/)
 * (@adamcapriola)
 * [14 years, 9 months ago](https://wordpress.org/support/topic/plugin-wp-file-cache-issue-with-transient-value/#post-2266813)
 * Wow, thank you for the super quick reply Vladimir!
 * Here’s an example value being returned:
 * `SimpleXMLElement::__set_state(array( 0 => '$3.95', ))`
 *  Plugin Author [Vladimir Kolesnikov](https://wordpress.org/support/users/vladimir_kolesnikov/)
 * (@vladimir_kolesnikov)
 * [14 years, 9 months ago](https://wordpress.org/support/topic/plugin-wp-file-cache-issue-with-transient-value/#post-2266816)
 * OK, please try
 * `$trans = (string)$pxml->Items->Item->OfferSummary->LowestNewPrice->FormattedPrice;`
 * instead of
 * `$trans = $pxml->Items->Item->OfferSummary->LowestNewPrice->FormattedPrice;`
 * I think this should solve the issue.
 * Best regards,
    Vladimir
 *  Thread Starter [Adam Capriola](https://wordpress.org/support/users/adamcapriola/)
 * (@adamcapriola)
 * [14 years, 9 months ago](https://wordpress.org/support/topic/plugin-wp-file-cache-issue-with-transient-value/#post-2266842)
 * Perfect! Everything seems to be working now.
 * I noticed that the transient values do not seemed to be saved in the `wp_options`
   table when your plugin is active. Is this normal?
 * I see them all within `/wp-content/plugins/wp-file-cache/cache/transient`, but
   they are not in `wp_options`. The way my function is written, I use `get_transient()`
   to check for an existing value, and if it’s not there then generate a new transient
   value.
 * I’m afraid that it’ll keep generating a new value if it’s not in `wp_options`…
   is your plugin written to get around that?
 * Thanks again for the help, and is there any way I can donate a few bucks your
   way?
 * Best,
    Adam
 *  Plugin Author [Vladimir Kolesnikov](https://wordpress.org/support/users/vladimir_kolesnikov/)
 * (@vladimir_kolesnikov)
 * [14 years, 9 months ago](https://wordpress.org/support/topic/plugin-wp-file-cache-issue-with-transient-value/#post-2266872)
 * Hi Adam,
 * Transients are not saved to the database when an object cache is active – this
   is by design (WordPress).
 * If you look at get_transient’s code, you will see that it uses two different 
   code paths depending on whether $_wp_using_ext_object_cache global is set to 
   true. If it is, transients are never written to the database and are stored/restored
   from the cache. If it is not, wp_options table is used. This minimizes the traffic
   between the PHP and DBMS and does not clutter the database with garbage.
 * If you want transients to be stored to the database, you need to modify plugin’s
   wp_cache_init() function a bit: add
 * `global $_wp_using_ext_object_cache; $_wp_using_ext_object_cache = false;`
 * > Thanks again for the help, and is there any way I can donate a few bucks your
   > way?
 * Unfortunatley, PayPal does not like Ukraine 🙁 if you want, you can try Donate
   form on my blog ([http://blog.sjinks.pro/](http://blog.sjinks.pro/)) but I honestly
   have no idea whether it will work for US.
 * Thank you,
    Vladimir
 *  Thread Starter [Adam Capriola](https://wordpress.org/support/users/adamcapriola/)
 * (@adamcapriola)
 * [14 years, 9 months ago](https://wordpress.org/support/topic/plugin-wp-file-cache-issue-with-transient-value/#post-2266966)
 * Hi Vladimir,
 * Awesome, gotcha. That’s really awesome how the design works, that transient values
   aren’t saved in the DB. Smart!
 * Also I just tried to send a donation, but I cannot get it to work. I put in my
   phone number but received no password to continue. 🙁
 * I really appreciate your help and plugins though!
 * Best,
 * Adam

Viewing 6 replies - 1 through 6 (of 6 total)

The topic ‘[Plugin: WP File Cache] Issue with Transient Value’ is closed to new 
replies.

 * ![](https://s.w.org/plugins/geopattern-icon/wp-file-cache.svg)
 * [WP File Cache](https://wordpress.org/plugins/wp-file-cache/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/wp-file-cache/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/wp-file-cache/)
 * [Active Topics](https://wordpress.org/support/plugin/wp-file-cache/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/wp-file-cache/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/wp-file-cache/reviews/)

 * 6 replies
 * 2 participants
 * Last reply from: [Adam Capriola](https://wordpress.org/support/users/adamcapriola/)
 * Last activity: [14 years, 9 months ago](https://wordpress.org/support/topic/plugin-wp-file-cache-issue-with-transient-value/#post-2266966)
 * Status: not resolved