場景
記錄下開發中測試數據遇到的問題,開發環境想全量跑下數據驗證數據的正確性,但每個賬戶的token存貯在redis中string類型,格式如:set TOKEN_{account_id}
,一個個獲取要崩潰啊。我想獲取到所有的賬戶,設置到開發環境中比較費事。
操作
- 先獲取線上的token
# 獲取到所有的token keys
scan 0 match TOKEN_* 1000
# 根據keys獲取所有的值
mget TOKEN_1 TOKEN_2 ...
-
得到所有的set命令
新建t.php文件
<?php $keys = ["TOKEN_16875607","TOKEN_19099247","TOKEN_14209713","TOKEN_17104161","TOKEN_17278520","TOKEN_9085127"]; $values = ["11d2d1fbd4b791578228987bd36e5813","a47cb64cd5b11b4ea3826b888d281440","180ce74f55136526667539aa57392554","3014cbf71a47e24d777017e3c8a7108e","da530dcb719b68d0c27006b269637580"]; foreach ($keys as $k=>$v){ if(!$values[$k]) continue; echo "SET {$v} {$values[$k]}\n"; }
執行
php t.php >> t.txt 2>&1
,從t.txt中復制set命令在開發環境redis客戶端執行。