1. 程式人生 > >linux取得redis資料庫中hash型別的所有feild或者所有value

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'