{"action":"created","issue":{"url":"https://api.github.com/repos/KarelCemus/play-redis/issues/114","repository_url":"https://api.github.com/repos/KarelCemus/play-redis","labels_url":"https://api.github.com/repos/KarelCemus/play-redis/issues/114/labels{/name}","comments_url":"https://api.github.com/repos/KarelCemus/play-redis/issues/114/comments","events_url":"https://api.github.com/repos/KarelCemus/play-redis/issues/114/events","html_url":"https://github.com/KarelCemus/play-redis/pull/114","id":248672746,"number":114,"title":"Named cache","user":{"login":"KarelCemus","id":1996368,"avatar_url":"https://avatars0.githubusercontent.com/u/1996368?v=4","gravatar_id":"","url":"https://api.github.com/users/KarelCemus","html_url":"https://github.com/KarelCemus","followers_url":"https://api.github.com/users/KarelCemus/followers","following_url":"https://api.github.com/users/KarelCemus/following{/other_user}","gists_url":"https://api.github.com/users/KarelCemus/gists{/gist_id}","starred_url":"https://api.github.com/users/KarelCemus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KarelCemus/subscriptions","organizations_url":"https://api.github.com/users/KarelCemus/orgs","repos_url":"https://api.github.com/users/KarelCemus/repos","events_url":"https://api.github.com/users/KarelCemus/events{/privacy}","received_events_url":"https://api.github.com/users/KarelCemus/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":17,"created_at":"2017-08-08T10:39:57Z","updated_at":"2017-08-24T23:32:54Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/KarelCemus/play-redis/pulls/114","html_url":"https://github.com/KarelCemus/play-redis/pull/114","diff_url":"https://github.com/KarelCemus/play-redis/pull/114.diff","patch_url":"https://github.com/KarelCemus/play-redis/pull/114.patch"},"body":"This PR redesigns configuration to fully implement named caches. Fixes #106.\r\n\r\nThis is intended for version 2.x.x without backward compatibility of the configuration. There will be warnings and migration guide to allow more advanced usage.\r\n\r\n@pcejrowski @rval May I ask you to review this PR, especially the `reference.conf` file? It should be final and stable. Modules and Components will change for sure,  some other binding-related classes might change too but the configuration proposal is final."},"comment":{"url":"https://api.github.com/repos/KarelCemus/play-redis/issues/comments/324785105","html_url":"https://github.com/KarelCemus/play-redis/pull/114#issuecomment-324785105","issue_url":"https://api.github.com/repos/KarelCemus/play-redis/issues/114","id":324785105,"user":{"login":"johnsiu","id":4751265,"avatar_url":"https://avatars1.githubusercontent.com/u/4751265?v=4","gravatar_id":"","url":"https://api.github.com/users/johnsiu","html_url":"https://github.com/johnsiu","followers_url":"https://api.github.com/users/johnsiu/followers","following_url":"https://api.github.com/users/johnsiu/following{/other_user}","gists_url":"https://api.github.com/users/johnsiu/gists{/gist_id}","starred_url":"https://api.github.com/users/johnsiu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johnsiu/subscriptions","organizations_url":"https://api.github.com/users/johnsiu/orgs","repos_url":"https://api.github.com/users/johnsiu/repos","events_url":"https://api.github.com/users/johnsiu/events{/privacy}","received_events_url":"https://api.github.com/users/johnsiu/received_events","type":"User","site_admin":false},"created_at":"2017-08-24T23:32:54Z","updated_at":"2017-08-24T23:32:54Z","body":"> @johnsiu that crossed my mind also, but I wonder if a warning in the comments of reference.conf and/or README.md might be sufficient? This post lists a few reasons to avoid namespacing in Redis.\r\n\r\n@rval\r\nHere are the two reasons listed by the post:\r\n\r\n> 1. Namespacing increases the size of every key by the size of the prefix.\r\n\r\nThis seems quite minor to me, assuming namespace is small.\r\n\r\n> 2. You don't get to tune Redis for the individual needs of \"cache\" and \"transactional\"\r\n\r\nI am suggesting to add namespace as an option, which can be enabled/disabled for each named cache. We are still able to configure and tune individual cache as needed. \r\n\r\nNamespace works quite naturally with named cache since the \"name\" of the cache itself is the namespace. \r\nThe common use case is that a single Play application has a single cache need, but has logical division into modules, which are developed by different teams.\r\n\r\nThe different options to avoid key collision are:\r\n1. spin up multiple Redis instances.\r\nHard to find a business justification for the operational overhead/cost.\r\n2. use different Redis databases.\r\nDeprecated and not supported by Redis Cluster.\r\n3. co-ordination between teams.\r\nlow tech and error-prone.\r\n4. use namespace.\r\n\r\nI would argue that 4 is quite a reasonable option.\r\n"}}
{"actor":{"display_login":"johnsiu"}}