场景模拟,线上Redis查询数据量大 key xx* 缺点 因为: 一次性返回数据量大,卡住。对内存消耗和Redis服务器都是隐患 建议: 时间花费,因为是分批次,会长 Scan无阻塞提取列表,每次执行返回少量元素 游标0->0,非递增小心要去重,存入HashSet count是上下浮动的
时间消耗
不同语言对应不同开发包,改定制化需求
batchRedis.txt
批量生成redis测试数据
1.Linux Bash下面执行
for((i=1;i<=20000000;i++)); do echo "set k$i v$i" >> /tmp/redisTest.txt ;done;
生成2千万条redis批量设置kv的语句(key=kn,value=vn)写入到/tmp目录下的redisTest.txt文件中
2.用vim去掉行尾的^M符号,使用方式如下::
vim /tmp/redisTest.txt
:set fileformat=dos #设置文件的格式,通过这句话去掉每行结尾的^M符号
::wq #保存退出
3.通过redis提供的管道--pipe形式,去跑redis,传入文件的指令批量灌数据,需要花10分钟左右
cat /tmp/redisTest.txt | 路径/redis-5.0.0/src/redis-cli -h 主机ip -p 端口号 --pipe