08:02:25 GMT is there a simple way to get a list of all redis commands? 08:06:53 GMT @yossigo I merged your PR and made a number of changes that you perhaps may want to check for correctness. Thanks for the PR. 08:07:06 GMT rhett: yes the "COMMAND" command of Redis 08:08:33 GMT thanks antirez now to make it less verbos 08:08:39 GMT verbose 08:08:52 GMT rhett: or check the page: http://redis.io/commands 08:09:19 GMT xpt: I just want a simple list 08:10:52 GMT Not sure if you can get less details. 08:11:32 GMT FAKETTY=1 redis-cli command > out, and now I'll just delete the stuff I don't want I guess 08:13:31 GMT redis-cli --no-raw command | egrep '".*"' | sed -e 's/[^"]*"//' -e 's/"//' 08:21:52 GMT thanks antirez ! 08:23:14 GMT antirez: thanks! looks good. 09:53:44 GMT Hi 09:53:58 GMT how I can see the slowlogs between start and end time? 09:59:56 GMT you can't. you can only get the most recent ones 16:52:22 GMT hi, if I use the redisCommandArgv() from hiredis with %b parameters, should everything be a string? 16:53:11 GMT like if I have an uint32_t in my code, can I just pass its address casted to char* or should I make it a proper string? 18:11:14 GMT Hi all. I am looking for a solution to a problem and I'm not sure if Redis is what I am after. I am making a webmail client using Node.js. The client connects to the mail server and retrieves the users emails. To do that, the front end issues a 'sync' call using GET /user/1/sync. I want to make sure each user can only issue a single sync call at a time with any subsequent ones only returning the progress of the original sync cal 18:11:14 GMT l. The sync are asynchronous promises but I am wondering how I can maintain state for each users between calls. 18:12:29 GMT The only way I see it right now would be to have a giant key value pair object with the key being the user id and the value being the progress. If the key isn't present, then the app fires up a new sync operation. 18:12:53 GMT This could become a problem if there is tens of thousands of concurrent users syncinc. 18:18:33 GMT NordiQ: What about having a single key per user which is the "in progress" key? 18:18:56 GMT The first thing you do during the /user/#/sync call is check for this key, and if it exists, just return the value. 18:19:43 GMT The request which is doing the sync first does "SET user:1:syncing 0 EX 60 NX" 18:20:00 GMT "create the key user:1:syncing only if it doesn't exist (NX), and have it expire 60 seconds from now (EX 60)" 18:20:14 GMT and your syncing request periodically refreshes that key with the progress so the key doesn't expire 18:20:47 GMT If the request aborts, the key eventually expires so syncing isn't broken forever 18:23:37 GMT the redis website has one suggestion for creating a lock with Redis: http://redis.io/topics/distlock 18:34:13 GMT if i set up a 3+ processes to continually pop items off a list, will there be an issue if two pop items off at the same time? 18:37:55 GMT there is no "same time" 18:38:19 GMT so there won't be an issue 18:56:48 GMT markuman: oh okay, so if i have n number of workers all trying to pop items off a list, that won't be an issue 19:00:26 GMT no. one will be the first. another the seconds ... you can have many connections at the same time. but redis is still single threaded. so one pop command will block redis for x time (ยต secs to sec ...depends on data size and what you're going to do) 19:01:21 GMT markuman: oh i see, that makes sense 19:01:22 GMT thanks! 19:01:39 GMT huh slaveofn1 has no space left. I think it's your bot soveran? 19:01:57 GMT markuman: it's antirez's 19:02:01 GMT ah ok 19:02:13 GMT he/she/it is flooting me in private message. dunno why 19:02:18 GMT20:00:47 GMT @jennings: Sounds like a good plan. Now is redis overkill to handle this? 20:15:53 GMT NordiQ: Hard to tell, I don't know anything about your app :) 20:16:26 GMT But, if you have the rule "only one request can sync at a time", then you need to coordinate that somewhere 20:17:04 GMT If you already have Redis for other purposes, that would probably be fine. If you have another storage (SQL?), you might have some way of doing a lock with that tool instead. 20:17:19 GMT @jennings: Haha fair enough. I mean I don't have redis implemented at the moment and I was looking for a solution. My concern was having all that sync data in memory in a javascript object for the node server to query. I don't wanna bog down the server with that stuff. 20:18:13 GMT @jennings: As mentionned above, I don't have redis implemented. I am using a Postgres database right now. 20:18:35 GMT Try running redis locally and add several thousand keys to it. That might give you an idea of what the memory requirements are. 20:18:57 GMT Yeah nothing beats real world testing. OK thanks. 20:22:21 GMT NordiQ: Postgres has "advisory locks" which might be what you want? I've never used them, but they're described here: https://www.postgresql.org/docs/9.1/static/explicit-locking.html