shell导出和导入redis

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:

1、导出redis


[plain] view plain copy

  1. #!/bin/bash  

  2. REDIS_HOST=localhost  

  3. REDIS_PORT=6379  

  4. REDIS_DB=1  

  5.   

  6.   

  7. KEYNAME=redis:hash:*  

  8. KEYFILE=key.txt  

  9. echo "KEYS $KEYNAME" | redis-cli -h $REDIS_HOST -p $REDIS_PORT -n $REDIS_DB > $KEYFILE  

  10.   

  11.   

  12. OUTFILE=valuelist.txt  

  13. TEMPFILE=$OUTFILE.tmp  

  14. echo > $TEMPFILE  

  15. for key in `cat $KEYFILE`  

  16. do  

  17.     echo $key  

  18.     #echo "HGETALL $key" | redis-cli -h $REDIS_HOST -p $REDIS_PORT -n $REDIS_DB >> $TEMPFILE    

  19.     echo "GET $key" | redis-cli -h $REDIS_HOST -p $REDIS_PORT -n $REDIS_DB >> $TEMPFILE  

  20. done  



2、整理导出的结果


[plain] view plain copy

  1. cat $TEMPFILE|xargs -n 2|awk -F" " -v KEYNAME=$KEYNAME '{print "HSET "KEYNAME " " $1, "\""$2"\""}' > $OUTFILE  

其中的xargs -n 2是把2行合成一行,换行符用空格代替


然后用awk按空格分开,$1是keynam $2是key的值

再次转换成HSET的格式,其中用到KEYNAME变量,这个要用-v预先定义。

最后转化为 HSET KEYNAME KEY "VALUE"格式。


3、导入转换的结果


[plain] view plain copy

  1. cat $OUTFILE | redis-cli -h localhost -p 6379  










本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1743455,如需转载请自行联系原作者
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
安全 NoSQL 关系型数据库
网络安全——利用ssrf操作内网redis写入计划任务反弹shell
今天的内容是ssrf漏洞的利用,环境选择的是discuz含有ssrf漏洞的版本,通过该漏洞来写入redis计划任务反弹shell,直接看操作
455 0
网络安全——利用ssrf操作内网redis写入计划任务反弹shell
|
NoSQL 安全 网络协议
|
4月前
|
NoSQL Shell Redis
Docker【应用 02】借助Docker部署Redis集群(Docker网卡创建+6个Redis集群搭建shell脚本)
Docker【应用 02】借助Docker部署Redis集群(Docker网卡创建+6个Redis集群搭建shell脚本)
57 0
|
SQL Shell 数据库
shell 自动导出导入数据库,将导出的格式为 : 数据库名+时间.sql
mysqldump 自动导出mysql8 or mariadb10x 数据库工具,导入数据库工具,mysql 创建于删除数据库
148 0
|
NoSQL Shell Redis
shell脚本一键部署——Redis(直接复制执行)亲测100% 有效
首先所需软件包拖进目录,然后编辑一个脚本,复制一下脚本,source执行一下即可
shell脚本一键部署——Redis(直接复制执行)亲测100% 有效
|
关系型数据库 MySQL Shell
利用Shell将MySQL数据表导出为csv文件
完整的Shell代码如下: #!/bin/bash MYSQL=`which mysql` #show databases in mysql echo "database in mysql:" echo "*******************" $MYSQL -u root -p****** 1.
2249 0
|
机器学习/深度学习 NoSQL 网络协议
SSRF在Redis中反弹shell
搭个环境怪不容易的,求大佬们放过。。。 参考文献:https://joychou.org/web/phpssrf.htmlhttps://www.anquanke.com/post/id/146417 SSRF概念 SSRF(Server-Side Request Forgery),服务端请求伪造,利用漏洞伪造服务器端发起请求,从而突破客户端获取不到数据限制。
2690 0
|
NoSQL Shell 数据库
shell端简单测试使用redis
应用场景 当redis内存数据库安装完毕之后,需要对redis进行操作使用,可以通过cs客户端,或者直接通过shell端进行连接redis然后对内存数据库进行操作使用。
1079 0
|
NoSQL Redis Ruby