Linux取得Redis数据库中hash类型的所有feild或者所有value

2014-11-24 17:27:37 · 作者: · 浏览: 0

Redis非常好用,但是对于习惯了关系型数据库的人来说,查询起来还是比较麻烦,尤其是对于一个hash类型的key,想取得所有的feild域,官方并没有直接的接口,但可以通过linux来帮助实现,方法如下:


前提,我们已经有了一个hash类型的key,myhash,


hset myhash name zl


hset myhash addr hz


第一,先新建一个.cmd文件,如getAll.cmd,内容为hgetall myhash


第二,执行命令redis-cli < getAll.cmd > getAll.result


第三,取出getAll.result中的奇数行即为hash中的feild,偶数行为hash中的value


使用一条命令实现取得myhash中所有的值,就是:


echo "hgetall myhash" | redis-cli -p 6380 -a yourPwd | awk 'NR%2==0'


如果是取得所有的feild为:


echo "hgetall myhash" | redis-cli -p 6380 -a yourPwd | awk 'NR%2==1'


推荐阅读: