Live data from Hacker News

Redis 3.0.0 is out

groups.google.com

41–50 of 80 posts

Re: Redis 3.0.0 is out

#41
post #36

Still no SSL, so using redis-client still just spews your password out all over the internet.

Why are you connecting to a Redis box across the internet? There's a great (and after Heartbleed, prophetic) post on the Varnish web site about why they don't implement SSL, I imagine Redis would be similar: https://www.varnish-cache.org/docs/trunk/phk/ssl.html

I love this post. Not every single piece of software needs to include SSL support out of the box. Sometimes, for the exact reasons Varnish explains, it just doesn't make sense.

Re: Redis 3.0.0 is out

#46

Still no SSL, so using redis-client still just spews your password out all over the internet.

There are plenty of alternatives to every library having to have yet another probably broken security layer. Probably better to focus on this layer being separate from everyone having to implement it.

Like, stunnel: https://www.stunnel.org/index.html and how to setup (Re: MySQL over stunnel) http://linuxgazette.net/107/odonovan.html

Re: Redis 3.0.0 is out

#47

(To note, I have limited experience with using Redis. My questions may be stupid.) As far as I can tell, most of the advantages of Redis come from the fact that it's all held in memory and so access is fast. Is networked access to other parts of the cluster quick enough that it is quicker than storing the data on one computer, partly on disk? When would one want to use a Redis cluster rather than something stored on-…

As well as the optimisations mentioned by famousactress, note that it's common to run Redis (or other in-memory databases such as memcached) on a separate server anyway. So there's already some network overhead but it tends to be small enough if the content is small and everything's co-located.

Right, but I assume the commenter was more curious about the presumed multiple-network-accesses usually involved with a cluster which proxies to some other node to satisfy requests would do to the overall performance of the system... which is a totally reasonable question/concern.

Re: Redis 3.0.0 is out

#48

Does anyone have more details on what the "embedded string" object encoding is and what workloads it helps with? The closest thing I can find is https://github.com/antirez/redis/issues/543 , which seems pretty old.

Hey, it's very straightforward. Normally you have something like the redis object structure which has a type field, and a pointer to the actual representation of the object. If type is REDIS_STRING, you have the pointer to an "sds" string (where sds is the name of the string library used).

Now with embedded strings there is a special kind of string objects that instead use a single allocation for both the object structure and the string itself. This is slightly more memory efficient, but especially, improves memory locality a lot, so basically everything uses string objects (string types, or aggregate data types large enough to use string objects as values of the collection), will perform better.

Those special strings are used only for small strings (the majority in most work loads).

Re: Redis 3.0.0 is out

#49
post #36

Still no SSL, so using redis-client still just spews your password out all over the internet.

Why are you connecting to a Redis box across the internet? There's a great (and after Heartbleed, prophetic) post on the Varnish web site about why they don't implement SSL, I imagine Redis would be similar: https://www.varnish-cache.org/docs/trunk/phk/ssl.html

Varnish is other thing. For cross-datacenter replication you will want SSL. So for Redis Cluster it's a necessary thing.

Re: Redis 3.0.0 is out

#50
post #37

What is the best alternative for redis?

http://memcached.org/ used to be. I haven't done system architecture in about 2 years but when we were looking at in memory databases, it came down to Redis or Memcache. Depending on what you need your database for, there are some that perform better than others. You can check this site for comparisons: http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

Memcached is just a stupid key-value store, and by stupid I mean it just stores and retrieves values. It's extremely primitive compared to Redis.

It's not even close to the same thing as Redis except superficially.

The key/value part of Redis is just the beginning. The values themselves can be of several different types that allow for a lot more flexibility in how you store and query data.

Post reply on HN