08:35:17 GMT what's the best c++ client for redis ? 08:44:51 GMT i've only ever used hiredis and can't exactly recommend it with C++. checking through the examples/repos of those listed here https://redis.io/clients#c-- seems like the thing to do 08:59:43 GMT https://github.com/cylix/cpp_redis and https://github.com/hmartiro/redox seem to look best, both require C++11+ 08:59:47 GMT ^ tgy 09:02:09 GMT first one seems somewhat neater to use, latter probably offers better performance 09:49:03 GMT there's a redis client called redox? oO 09:52:44 GMT what's so surprising about it, badboy_? 09:54:00 GMT There's a operating system and kernel, written in Rust, called redox :D 09:54:09 GMT that's what threw me off 15:22:25 GMT <__Yiota> what's the best way to healthcheck redis? 16:52:37 GMT ping it 17:14:38 GMT I'm working on a redirect service (based on query params) I'm thinking of storying serialized JSON in a list ["someRegx => http://example.com", ...]. Is there a better way to go about this? 17:41:07 GMT you want to map ONE set of query parameters (=key) to ONE destination URL (=value)? 17:41:14 GMT or how is this supposed to work? 17:43:41 GMT GNU\colossus: I'll be storing multiple regexp keys with destination values. For incoming HTTP requests, I'll be checking if any of the expressions pass and if they do I'll redirect to the destination. 17:44:32 GMT In other words, the rewrite_rules List will be composed of a number of differing "regex => destination". 17:46:24 GMT and your list of redirect rules is so dynamic that you need that backed by redis? 17:46:47 GMT Indeed it is 17:48:23 GMT Heh, I could probably just have a form for admin to fill out that appends their redirect to a file and redeploys the service :D No one would be the wiser. 17:49:09 GMT I ask this because if you're not careful, your RE engine will end up compiling each resulting automaton anew for each incoming request and each stored regex. 17:51:59 GMT I'm not sure what you mean by "compiling each resulting automation anew". Could you expand? It's not so dynamic that the list is having redirect appended every minute, it's more of a periodical update. 18:01:06 GMT commonerror, before a regular expression can match anything, it will be compiled into a DFA. that's why the POSIX RE has distinct compile and match functions. some runtimes (PHP, for instance) combine two steps (and transparently cache compiled REs) 18:01:41 GMT if your runtime isn't celver enough, it will probably parse and compile each of your REs for each match you want them to perform, even though the resulting RE/DFA hasn't changed 18:01:57 GMT in case you are serving loads of redirects, that might be a performance bottleneck of your service 18:02:08 GMT if you expect a few hundreds matches a second at most, just forget what I wrote 18:03:41 GMT I'm looking at millions/second, but each of the REs will be unique. Granted, I don't expect to have more than a few 100 redirect rules in place at a given time. 20:27:25 GMT is it correct to use Redis replication (read-only slaves) to achieve read scalability? or will a massive write storm destroy read performance due to the replication trying to keep up regardless? 20:27:52 GMT (1) yes (2) of course this is possible 20:29:10 GMT is there a general rule of thumb for an upper bound for the number of slaves? 21:18:46 GMT what are some common reasons I'd get connection refused for localhost:6379? 21:19:38 GMT redis listens on a different port or interface. redis isn't running. redis has crashed, and isn't running any more. you have misconfigured your packet filter. 21:19:41 GMT yes, if redis isn't running 21:19:45 GMT that about sums up the problem space 21:21:00 GMT ps aux | grep redis gives me this: 0:00 redis-server *:6379 21:21:10 GMT I am running redis from a docker container 21:21:14 GMT in a virtualbox 21:22:06 GMT chris11: docker has its own network weirdness 21:22:17 GMT most likely you're not in the same network namespace as the container 21:22:24 GMT ugh that's annoying 21:22:38 GMT ... and I almost feel tempted to ask "why", but ... then I don't want to hear the answer ;) 21:24:01 GMT chris11: so you need to connect to the ip of the redis container via the vbox vm 21:24:46 GMT you can avoid docker giving containers a separate ip by disabling network isolation by passing --net=host to the docker run command 21:25:09 GMT better just install linux on your host, and redis too 21:33:50 GMT <__Yiota> chris11 try `redis-cli` from container 21:38:48 GMT connection refused. 21:39:19 GMT docker exec my-container redis-cli? 21:39:30 GMT docker ps gives me 0.0.0.0:32771->6379. I call localhost:6379 not localhost:32771, right? 21:40:14 GMT I'll try that 21:40:48 GMT still same error 21:42:09 GMT you should go figure out how to use docker if you must use it 21:42:28 GMT you might have a point. 21:45:47 GMT so what's that command supposed to do? I read that its supposed to run a commad on the docker container. But I saw that I ran the command in the wrong spot so I reran it. I did not get any response. No error though.