首页 » redis » 正文

linux取得redis数据库中hash类型的所有feild或者所有value(转)

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’

发表评论