TTL, creating user and its function

Multi tool use
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
We are doing a school project and have a question:
If we want to create a new user it wasn't possible for the user to login right after. Therefore we decided to change the TTL to 5S but it might not be the right solution.
At the moment our UserCache look like this with a TTL stored in our config.json to 5S.
Our concern is that it's not the right call. So what does the TTL do in proportion to the UserCache? And what might the right solution be? We just started coding..
Best regards,
Casper
//TODO: Build this cache and use it. (FIXED)
public class UserCache {
// List of users
private ArrayList<User> users;
// Time cache should live. Definere en variabel vi kalder ttl.
private long ttl;
// Sets when the cache has been created
private long created;
// Vi har her lavet en konstruktør, hvor vi henter alle brugerne fra config klassen
public UserCache() {
this.ttl = Config.getUserTtl();
}
public ArrayList<User> getUsers(Boolean forceUpdate) {
// If we wish to clear cache, we can set force update.
// Otherwise we look at the age of the cache and figure out if we should update.
// If the list is empty we also check for new products
if (forceUpdate
|| ((this.created + this.ttl) <= (System.currentTimeMillis() / 1000L))
|| this.users.isEmpty()) {
// Get users from controller, since we wish to update.
ArrayList<User> users = UserController.getUsers();
// Set users for the instance and set created timestamp
this.users = users;
this.created = System.currentTimeMillis() / 1000L;
}
// Return the documents
return this.users;
}
}
caching ttl
add a comment |
We are doing a school project and have a question:
If we want to create a new user it wasn't possible for the user to login right after. Therefore we decided to change the TTL to 5S but it might not be the right solution.
At the moment our UserCache look like this with a TTL stored in our config.json to 5S.
Our concern is that it's not the right call. So what does the TTL do in proportion to the UserCache? And what might the right solution be? We just started coding..
Best regards,
Casper
//TODO: Build this cache and use it. (FIXED)
public class UserCache {
// List of users
private ArrayList<User> users;
// Time cache should live. Definere en variabel vi kalder ttl.
private long ttl;
// Sets when the cache has been created
private long created;
// Vi har her lavet en konstruktør, hvor vi henter alle brugerne fra config klassen
public UserCache() {
this.ttl = Config.getUserTtl();
}
public ArrayList<User> getUsers(Boolean forceUpdate) {
// If we wish to clear cache, we can set force update.
// Otherwise we look at the age of the cache and figure out if we should update.
// If the list is empty we also check for new products
if (forceUpdate
|| ((this.created + this.ttl) <= (System.currentTimeMillis() / 1000L))
|| this.users.isEmpty()) {
// Get users from controller, since we wish to update.
ArrayList<User> users = UserController.getUsers();
// Set users for the instance and set created timestamp
this.users = users;
this.created = System.currentTimeMillis() / 1000L;
}
// Return the documents
return this.users;
}
}
caching ttl
add a comment |
We are doing a school project and have a question:
If we want to create a new user it wasn't possible for the user to login right after. Therefore we decided to change the TTL to 5S but it might not be the right solution.
At the moment our UserCache look like this with a TTL stored in our config.json to 5S.
Our concern is that it's not the right call. So what does the TTL do in proportion to the UserCache? And what might the right solution be? We just started coding..
Best regards,
Casper
//TODO: Build this cache and use it. (FIXED)
public class UserCache {
// List of users
private ArrayList<User> users;
// Time cache should live. Definere en variabel vi kalder ttl.
private long ttl;
// Sets when the cache has been created
private long created;
// Vi har her lavet en konstruktør, hvor vi henter alle brugerne fra config klassen
public UserCache() {
this.ttl = Config.getUserTtl();
}
public ArrayList<User> getUsers(Boolean forceUpdate) {
// If we wish to clear cache, we can set force update.
// Otherwise we look at the age of the cache and figure out if we should update.
// If the list is empty we also check for new products
if (forceUpdate
|| ((this.created + this.ttl) <= (System.currentTimeMillis() / 1000L))
|| this.users.isEmpty()) {
// Get users from controller, since we wish to update.
ArrayList<User> users = UserController.getUsers();
// Set users for the instance and set created timestamp
this.users = users;
this.created = System.currentTimeMillis() / 1000L;
}
// Return the documents
return this.users;
}
}
caching ttl
We are doing a school project and have a question:
If we want to create a new user it wasn't possible for the user to login right after. Therefore we decided to change the TTL to 5S but it might not be the right solution.
At the moment our UserCache look like this with a TTL stored in our config.json to 5S.
Our concern is that it's not the right call. So what does the TTL do in proportion to the UserCache? And what might the right solution be? We just started coding..
Best regards,
Casper
//TODO: Build this cache and use it. (FIXED)
public class UserCache {
// List of users
private ArrayList<User> users;
// Time cache should live. Definere en variabel vi kalder ttl.
private long ttl;
// Sets when the cache has been created
private long created;
// Vi har her lavet en konstruktør, hvor vi henter alle brugerne fra config klassen
public UserCache() {
this.ttl = Config.getUserTtl();
}
public ArrayList<User> getUsers(Boolean forceUpdate) {
// If we wish to clear cache, we can set force update.
// Otherwise we look at the age of the cache and figure out if we should update.
// If the list is empty we also check for new products
if (forceUpdate
|| ((this.created + this.ttl) <= (System.currentTimeMillis() / 1000L))
|| this.users.isEmpty()) {
// Get users from controller, since we wish to update.
ArrayList<User> users = UserController.getUsers();
// Set users for the instance and set created timestamp
this.users = users;
this.created = System.currentTimeMillis() / 1000L;
}
// Return the documents
return this.users;
}
}
caching ttl
caching ttl
asked Jan 3 at 21:24
Casper Siegumfeldt ClausenCasper Siegumfeldt Clausen
12
12
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54030006%2fttl-creating-user-and-its-function%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54030006%2fttl-creating-user-and-its-function%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Zn5QD 7Td3B