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

  • SEARCH
  • Home
  • 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 7082713
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 28, 20262026-05-28T07:05:19+00:00 2026-05-28T07:05:19+00:00

I need to keep track of which user has visited which page how many

  • 0

I need to keep track of which user has visited which page how many times.

In MySQL I’d do something like this:

INSERT INTO stats (user_id, url, hits)
VALUES (1234, "/page/1234567890", 1)
ON DUPLICATE KEY UPDATE hits = hits + 1;

In the table stats (user_id, url) is UNIQUE

I’m looking to find the fastest system for this purpose. As this is just for stats keeping durability is not important.

Does Redis or MongoDB or Memcached or any other NoSQL systems support such a feature? How would you implement this to get the highest performance?

  • 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-05-28T07:05:19+00:00Added an answer on May 28, 2026 at 7:05 am

    In MongoDB the equivalent concept is called an upsert (detailed info here.)

    This basically means: “Go look for the document with this key- if it exists, apply this update. If it doesn’t exist, create it and apply this update.”

    So for example, in your case you could do something like this in mongo:

    db.stats.update({user_id:1234, url:"/page/1234567890"}, {$inc:{hits:1}}, true)

    The first time this gets called (on an empty db), it would insert this document:

    {user_id:1234, url:"/page/1234567890", hits:1}

    Subsequent calls would simply increment the value of hits.

    In Redis, you could accomplish this by just using the Redis INCR command, where your key is based on the values you need to qualify it as unique. The first call to INCR just sets the value to 1 if it doesn’t exist yet. For example:

    INCR "uid:1234:url:/page/1234567890"
    > 1
    INCR "uid:1234:url:/page/1234567890"
    > 2
    

    etc.

    As for how to implement this for highest performance, this depends on what you mean by “performance” and what your use case is. For example, using Redis INCR command is likely faster than MongoDB, but you sacrifice capabilities for indexing and querying, as well as flexibility in your data model. These are tradeoffs that you will need to decide based on your particular situation.

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

Sidebar

Related Questions

I need to keep track of how many items are in a node of
I need to keep track of around 10000 elements of an array in my
I need to keep track of std::set element by saving the iterator returned by
I need to keep track of number of hits on a particular item in
For my application I need to keep track of all files that are touched
I have a search page which finds candidates. From this page you can click
I am working on a website which already has user access set up so
I need to keep track of different dates (dynamic). So for a specific Task
I need to design a database for something like a downloads site . I
I have a profile page (less than 10k users) and I need to track

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.