Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7901943
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 3, 20262026-06-03T09:21:55+00:00 2026-06-03T09:21:55+00:00

The Google Apps Engine doc about safely Handling Concurrent Memcache Updates: The putIfUntouched and

  • 0

The Google Apps Engine doc about safely Handling Concurrent Memcache Updates:

The putIfUntouched and getIdentifiable methods of the Memcache service can be used to provide a way to safely make key-value updates to memcache in scenarios where multiple requests are being handled concurrently that need to update the same memcache key in an atomic fashion. (It is possible to get race conditions in those scenarios.)

i am building an application which need accurate cache value, below is my code, please help me check if it is right:

        ...
        IdentifiableValue oldCountIdValue = mc.getIdentifiable( cacheKey );
        Long count = ( Long ) oldCountIdValue.getValue();
        if( count != null )
        {
            this.oldCountValue = oldCountIdValue;
            return count;
        }

        Long result = new Long( q.count() );
        mc.putIfUntouched( cacheKey, oldCountValue, result );
        return result;

My question is: what if putIfuntouched() return false? what should the code return? and how?

When the datastore add one entity, i use below:

mc.increment( cacheKey, 1, initValue );

is this usage correct?

Thanks a lot.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-03T09:21:57+00:00Added an answer on June 3, 2026 at 9:21 am

    I need to understand something about your code:
    First why are you checking if count != null? doesn’t oldCountIdValue == null means that count == null and the other way around: if oldCountIdValue != null then count != null

    if so then the code should be:

    IdentifiableValue oldCountIdValue = mc.getIdentifiable( cacheKey );
    if (oldCountIdValue != null) {
       return ( Long ) oldCountIdValue.getValue();
    }
    
    Long result = new Long( q.count() );
    mc.putIfUntouched( cacheKey, oldCountValue, result );
    return result;
    

    if putIfUntouched returns null, it means that your result variable is not accurate anymore, you can do the following: ignore and return your current result or load the result from the cache.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

How can I fetch mails from gmail account in Google Apps Engine Django application?
I just started to play with MemCache in Google Apps Engine and every time
I have built an object in Javascript on the Google Apps Script engine and
Am looking for open source Django apps in Google App engine. I want to
I'm new to Google Apps Engine (working on an existing project for someone else)
I want to develop some web apps using Google app engine. I had deployed
I'm new to google apps engine. I want to have a something like: class
Here we have a Spring based webapp in google apps engine. I've created a
Just wondering about this, is it possible to use Django with the Google Apps
What are examples of high volume apps running atop of Google app engine?

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.