首先需要构造数据的基本格式,如命令
hmset news105 news_title title105 news_content content105 news_views 28
拆分成以下格式:
*8 // 按空格拆分有几段 $5 // 代表 hmset 的字符长度 hmset $7 // 代表 news105 的字符长度,以此类推· news105 $10 news_title $8 title105 $12 news_content $10 content105 $10 news_views $2 28
利用 MySQL 构造数据
数据表(news)结构:
利用 sql 拼接数据(news.sql):
select concat('*8','\r\n','$5','\r\n','hmset','\r\n','$',LENGTH(news_id)+4,'\r\n','news',news_id,'\r\n' ,'$10','\r\n','news_title','\r\n','$',LENGTH(news_title),'\r\n',news_title,'\r\n','$12','\r\n','news_content','\r\n' ,'$',LENGTH(news_content),'\r\n',news_content,'\r\n','$10','\r\n','news_views','\r\n','$',LENGTH(news_views),'\r\n',news_views ,'\r') from news order by news_views desc limit 0,5
导出 sql 执行结果(news):
mysql -uroot -p123456 -D 数据库名 --skip-column-names --raw < news
- --skip-column-names:不显示列名
- --raw:原生输出,不做任何转义
至此,数据构造完毕。批量插入 redis:
cat news | redis-cli --pipe
查看结果: