I store my data in redis. I store in one raw it guid, createday, and it size.
So I define the following:
var dbclient1 = db.createClient();
dbclient1.hmset("doc:3743-da23-dcdf-3213", "date", "2015-09-06 00:00:01", "size", "203")
dbclient1.zadd("cache", 32131, "37463-da23-dcdf-3213")
I wish to view all my files in my db. So I try the following:
dbclient1.hgetall("doc:*", function (err, res){
console.log(err)
console.log(res)
})
but res is undefined. How can I do it?
-
This GUI interface helped me out a lot when getting started: redislabs.com/blog/redisinsight-gui Not at all an answer to your question; but, great for viewing data, testing search, profiling, etc, so thought worth adding to this thread. There are other similar tools.ficuscr– ficuscr2021年05月12日 03:31:50 +00:00Commented May 12, 2021 at 3:31
1 Answer 1
HGETALL returns all fields and values of the hash stored at key, you can't specify a mask: http://redis.io/commands/hgetall
You can call KEYS doc:* to get a list of all keys matching your criteria and then get all values in a loop.
However, an important note per docs:
Warning: consider KEYS as a command that should only be used in production environments with extreme care. It may ruin performance when it is executed against large databases. This command is intended for debugging and special operations, such as changing your keyspace layout. Don't use KEYS in your regular application code. If you're looking for a way to find keys in a subset of your keyspace, consider using SCAN or sets.
5 Comments
KEYS may or may not be dangerous depending on a particular scenario which OP didn't describe. Granted, SCAN is safer performance-wise, but since it's just a cursor it may not return all entries or return some entries multiple times, so must be used carefully as well.